Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 10 of 10
  1. #1

    Anatomy of a Synology LMS .spk package

    Following the discontinuation of the LMS Repack and LMS Update packages by Pinkdot, I tried to get a basic understanding of how the Synology packages are built and packed, and how it is possible to update them using the latest nightlies of LMS.

    Though I did not have the time to get into the experimental phase, yet, I would like to share my discoveries, to hopefully help others who look for more understanding to move forward.

    This is also to thank this great community for your support and enthusiasm!

    https://docs.google.com/document/d/1...it?usp=sharing

    Please let me know what you think and if this helps you. This is draft, so certainly there are errors and lots of room for improvement. Feedback how to improve is always welcome.

    Gerhard

    PS: this is Google Docs, this thing just didn't work on the User Forum.. but discussion can be here

    Sent from my E6653 using Tapatalk
    Last edited by Ge Ba; 2017-10-28 at 10:57.
    Server: LMS 7.9.1-166 Synology @ Sept 04 2017 on DS216Play. SOX mansr ARMv7 & C-3PO. Players: SB Radio, Freecom MusicPal. Multiroom HiFi: Denon AVR-X4000, AVM M30, Nubert NuLine/NuVero 5.1+2

  2. #2
    Senior Member Stig Nygaard's Avatar
    Join Date
    Feb 2006
    Location
    Copenhagen
    Posts
    258
    Thanks a lot for sharing this :-)
    /Stig
    www.rockland.dk - www.last.fm/user/rockland - www.discogs.com/user/StigNygaard - plus.google.com/+StigNygaard
    Server: LMS 7.9.1 (LmsRepack) - 1503129892 @ Sat Aug 19 on Synology DS716+II. Clients: RPi3 (Max2Play, 7" touch, HiFiBerry Digi+ Pro), SB Touch, OrangeSqueeze/SqueezePlayer. Livingroom HiFi: Marantz PM6005 and F3/Lyd Audiovector 2.

    Try my Art Grabr for fetching big cover-art from various sites - And Album Linkr for a better last.fm desktop browser experience...

  3. #3
    Senior Member
    Join Date
    Jan 2011
    Location
    Minneapolis
    Posts
    487
    Quote Originally Posted by Ge Ba View Post
    Following the discontinuation of the LMS Repack and LMS Update packages by Pinkdot, I tried to get a basic understanding of how the Synology packages are built and packed, and how it is possible to update them using the latest nightlies of LMS.

    Though I did not have the time to get into the experimental phase, yet, I would like to share my discoveries, to hopefully help others who look for more understanding to move forward.

    This is also to thank this great community for your support and enthusiasm!

    https://docs.google.com/document/d/1...it?usp=sharing

    Please let me know what you think and if this helps you. This is draft, so certainly there are errors and lots of room for improvement. Feedback how to improve is always welcome.

    Gerhard

    PS: this is Google Docs, this thing just didn't work on the User Forum.. but discussion can be here

    Sent from my E6653 using Tapatalk

  4. #4
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,781

    Anatomy of a Synology LMS .spkpackage

    > PS: this is Google Docs, this thing just didn't work on the User Forum..
    > but discussion can be here


    TBH: I think being able to comment on the document itself would be
    easier. Comments could be placed where they belong, instead of trying to
    reference some section of the document here.

    But here's my little input: I think almost anything but the Slim & HTML
    folder, plus a few file in the main folder, should not be touched. Most
    changes will be .pm files (perl modules).

    In order to get a list of changes since Synology's release, use this link:

    https://github.com/Logitech/slimserv...5...public/7.9

    a519d5 is the commit ID of the revision Synology's package is based on.
    Whenever they release a new version, that revision would have to be
    figured out.

    Following this link there's another link to show the changed files.
    Today you'd see a lot of changes in CPAN - ignore them, as you'd be
    using Synology's. Which leaves us with only a hand full of changes.
    Replace Synology's copy of those files with the new ones. Wrap up the
    work in to a .spk. Done. That's my naive take.

    --

    Michael

  5. #5
    Quote Originally Posted by mherger View Post
    > PS: this is Google Docs, this thing just didn't work on the User Forum..
    > but discussion can be here


    TBH: I think being able to comment on the document itself would be
    easier. Comments could be placed where they belong, instead of trying to
    reference some section of the document here.

    But here's my little input: I think almost anything but the Slim & HTML
    folder, plus a few file in the main folder, should not be touched. Most
    changes will be .pm files (perl modules).

    In order to get a list of changes since Synology's release, use this link:

    https://github.com/Logitech/slimserv...5...public/7.9

    a519d5 is the commit ID of the revision Synology's package is based on.
    Whenever they release a new version, that revision would have to be
    figured out.

    Following this link there's another link to show the changed files.
    Today you'd see a lot of changes in CPAN - ignore them, as you'd be
    using Synology's. Which leaves us with only a hand full of changes.
    Replace Synology's copy of those files with the new ones. Wrap up the
    work in to a .spk. Done. That's my naive take.

    --

    Michael
    Thank you, Michael, your 'naive' view is probably more sophisticated than anybody elses here

    I opened the documents for commenting, and updated your points right away.
    Also I made proper links to the related locations at the bottom of the page, later I will probably edit the OP to be something like a quick summary of all the details behind...

    Gerhard

  6. #6
    Senior Member pinkdot's Avatar
    Join Date
    Nov 2009
    Location
    The Netherlands
    Posts
    876
    Quote Originally Posted by Ge Ba View Post
    Thank you, Michael, your 'naive' view is probably more sophisticated than anybody elses here

    I opened the documents for commenting, and updated your points right away.
    Also I made proper links to the related locations at the bottom of the page, later I will probably edit the OP to be something like a quick summary of all the details behind...

    Gerhard
    Hi Gerhard,

    If you want to update a the 166 spk, make sure to create a new 'base'. As already said, the the 166 spk is not in line with commit ID a519d5! You have to get this in line first before moving on.
    Second: don' t just copy files or directories, some files/code contain Synology specific patches.
    Third: there are some differences between architectures. I would advice to create a new 'base' package for all architectures you want to maintain/create.
    -LMS on Raspian Stretch -> 2x Radio
    -RPI 3 (Mopidy + Raspotify), Allo Boss DAC- Exposure 3010S2 - PMC FB1i

  7. #7
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,781

    Anatomy of a Synology LMS .spkpackage

    > Second: don' t just copy files or directories, some files/code contain
    > Synology specific patches.


    Would you have any information about what patches they applied?

    I guess I'll have to do a diff on their code and what we have in github...

    --

    Michael

  8. #8
    Senior Member pinkdot's Avatar
    Join Date
    Nov 2009
    Location
    The Netherlands
    Posts
    876
    Quote Originally Posted by mherger View Post

    I guess I'll have to do a diff on their code
    for every single package they have,
    and what we have in github...
    Just to be on the save side (I don't know what changed with their latest code, but this was needed before).
    -LMS on Raspian Stretch -> 2x Radio
    -RPI 3 (Mopidy + Raspotify), Allo Boss DAC- Exposure 3010S2 - PMC FB1i

  9. #9
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    19,781

    Anatomy of a Synology LMS .spkpackage

    > Just to be on the save side (I don't know what changed with their latest
    > code, but this was needed before).


    I did a quick diff between git and their package. There seem to be three
    "patches" applied:

    - one actually deals with an issue I've seen myself, but never was able
    to reproduce. What a pity they didn't provide a patch upstream...

    - one change to the prefs folder handling, which doesn't come with any
    comment. Don't know why they changed that (and why that change would be
    required anyway).

    - one change to the main skin, hiding the update prompt in the footer.
    Which would not be required if they had done the customization properly
    to override the update checking behaviour...

    Other than that there's certainly tons of leftovers. Files which have
    been removed or moved. Changes they forgot to apply. I'm actually
    surprised we didn't see bug reports for some of those, as they missed a
    fix or two.

    I'll try get in touch with them to get those issues resolved.

    --

    Michael

  10. #10
    Quote Originally Posted by pinkdot View Post
    Hi Gerhard,

    If you want to update a the 166 spk, make sure to create a new 'base'. As already said, the the 166 spk is not in line with commit ID a519d5! You have to get this in line first before moving on.
    Second: don' t just copy files or directories, some files/code contain Synology specific patches.
    Third: there are some differences between architectures. I would advice to create a new 'base' package for all architectures you want to maintain/create.
    Hi Martin,

    thanks a lot for your input, and thank you Michael for following up with Synology!

    For now I have just added a comment in the document.. that there are inconsistencies between current Synology 7.9.1 beta package and Github commits to a519d5.

    Other Updates:
    - added info how to invoke self-compiled SOX
    - added info how to add LAME,
    both in folder Bin.
    I know these are kind of optional for most users, but for some like me they are essential..

    rgds
    Gerhard
    Last edited by Ge Ba; 2017-11-03 at 07:04.
    Server: LMS 7.9.1-166 Synology @ Sept 04 2017 on DS216Play. SOX mansr ARMv7 & C-3PO. Players: SB Radio, Freecom MusicPal. Multiroom HiFi: Denon AVR-X4000, AVM M30, Nubert NuLine/NuVero 5.1+2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •