Created attachment 209578 [details] diff between current port and new version This is an update to this port. 2 files have been deleted : files/custom-convert.conf.in files/patch-convert.conf No files have been added. The port now also builds a modified version of faad. this does not conflict with the audio/faad port and this modified version is only used by logitechmediaserver.
Build info is available at https://gitlab.com/swills/freebsd-ports/pipelines/99816642
I tried this patch, but it seems to fail on perl5.32 ? Will try forcing to perl5.30 and report.
Created attachment 220112 [details] Update logitechmediaserver to 8.0.0
New patch updates logitechmediaserver to 8.0.0 Tested on i386,amd64,11.4,12.2,Perl-5.30 and Perl-5.32 One file added to port files/revision.txt.in two files deleted files/custom-convert.conf files/patch-convert.conf
Tried the 8.0.0 upgrade, works fine, thanks a lot!
Fails in poudriere (12.2 amd64): .... ====> Running Q/A tests (stage-qa) Warning: Symlink '/usr/local/share/logitechmediaserver/Cache' pointing to '/var/db/logitechmediaserver/cache' which does not exist in the stage directory or in localbase Notice: You have some Perl modules as dependencies but you do not have devel/p5-Module-CoreList installed, the perlcore QA check gets better results when using it, especially with older Perl versions. Warning: License is not auto-accepted, packages will not be built, ports depending on this one will be ignored. Warning: License does not allow package to be distributed, ports depending on this one will be ignored ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: %%SLIMDIR%%/.editorconfig Error: Orphaned: %%SLIMDIR%%/.github/workflows/00_smoketest.yaml Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBD/File/Developers.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBD/File/HowTo.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBD/File/Roadmap.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBD/SQLite/Cookbook.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBD/SQLite/Fulltext_search.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBI/DBD/SqlEngine/Developers.pod Error: Orphaned: %%SLIMDIR%%/CPAN/arch/%%PERL_VER%%/DBI/DBD/SqlEngine/HowTo.pod Error: Orphaned: %%SLIMDIR%%/t/00_smoketest.sh ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 Stop. make: stopped in /usr/ports/audio/logitechmediaserver =>> Error: check-plist failures detected ... It also seems to bundle quite a few libraries which isn't ideal... https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#bundled-libs Best regards, Daniel
Created attachment 220483 [details] Update logitechmediaserver to 8.0.0 v2
Directory /var/db/logitechmediaserver/cache is created on first run and needs to be preserved during updates Files missing in pkg-plist were deliberate, they are not needed. New patch now removes them from stagedir. Any libraries are only used to build specific versions of Perl Modules, no libraries are installed.
Created attachment 220924 [details] Update logitechmediaserver to 8.1.0
I do not really know what I am doing ... but I succeeded in installing the 8.1.0 patch on freebsd 12.2 amd64. 1) I had to "touch files/revision.txt.in" as this did not exist 2) It used perl5.28 as that is what was installed for the port to compile previously. I then removed perl5.28 and reinstalled. This pulled in perl5.32 and LMS 8.1.0 is now running fine with perl5.32. Thank you!
I am happy you found this useful Alan. For other people who are not familiar with patch files ( including me ) here is a way to use them : 1. Download the patch and copy it to your home-directory with the name patchfile ( you can use any name you wish but in the following example I use patchfile ) 2. Create a copy of the original port from the ports-tree in your home-directory cp -r /usr/ports/audio/logitechmediaserver logitechmediaserver 3. Create an empty file revision.txt.in in the correct location touch logitechmediaserver/files/revision.txt.in 4. Run patch patch -E -i patchfile -V none ( the -E option removes two files that are empty after the patch and the -V none option means no backup files ( .orig ) are created ) 5. You can now install the new version of logitechmediaserver from the direcory ~/logitechmediaserver in the normal way
Created attachment 227095 [details] Update logitechmediaserver to 8.2.0 This patch adds to the work of Hans Soonieus on previous versions to update LMS to 8.2.0.
Created attachment 227096 [details] Update logitechmediaserver to 8.2.0 v2 This patch adds to the work of Hans Soonieus on previous versions to update LMS to 8.2.0. patch v2 avoids re-inclusion of $FreeBSD$ tags within 'files/'.
I used the latest 8.2.0 v2 patch (which looks like it is actually version 8.2.1, not that I would complain) and it mostly works. The only thing is that somewhere along in your series of patches a "files/revision.txt.in" was added, and this patch only changes the permissions on it. It doesn't add the file. As a result, there is an error when "make patch" runs. I simply did a touch files/revision.txt.in and the port built. I have no idea if the revision.txt.in is necessary or not, but you may want to update the patch regarding that. Regardless, hats off to you. I have tried to update this port myself and ran into issues. I was running a hand-rolled build, but it leaked memory and couldn't be trusted. Your patched port is keeping memory right where it needs to be. Hope it can be committed soon.
(In reply to Gregory Sutter from comment #13) Besides the missing "files/revision.txt.in" file, poudriere prints a few warnings on 13.0R amd64: [00:00:04] Gathering ports metadata [00:00:04] Warning: (audio/logitechmediaserver): sh: perl: not found [00:00:04] Warning: (audio/logitechmediaserver): make: "/usr/ports/audio/logitec hmediaserver/Makefile" line 85: warning: "perl -MConfig -le 'print $Config{archn ame}'" returned non-zero status [00:00:07] Calculating ports order and dependencies Otherwise, the port builds properly (and actually builds v8.2.1). Thanks for the patch!
Created attachment 228180 [details] Update logitechmediaserver to 8.2.0
Regards the version of the patch submitted by Gregory Sutter, this does indeed pick up the github repository a few commits beyond version 8.2.0. The actual version of his patch is 8.2.1.g2021.08.09. Added a patch to the official version 8.2.0. Regarding the error encountered by David Z this seems to indicate that Perl was not (yet) available during this phase. The port uses Perl during the build phase to determine the Perl arch ( amd64-freebsd-thread-multi on amd64 etc ) in the original version of the port this was configured statically in Makefile and was probably the reason for the fact this port is i386 amd64 only. It will probably build on other platforms but I do have the equipment to test this so I have left the i386/amd64 limit. I have not yet tested this on 13.0. Regards the file revision.txt.in this is purely cosmetic. The contents of this file is used to display some information on the information webpage : Version: 8.2.0 - Release @ FRI 06 AUG 12:00:00 CET 2021 Without this file this line would state : Version: 8.2.0 - TRUNK @ UNKNOWN The contents of this file is in the diff : diff -ruN /usr/ports/audio/logitechmediaserver/files/revision.txt.in logitechmediaserver/files/revision.txt.in --- /usr/ports/audio/logitechmediaserver/files/revision.txt.in 1970-01-01 01:00:00.000000000 +0100 +++ logitechmediaserver/files/revision.txt.in 2021-08-06 12:00:27.000000000 +0200 @@ -0,0 +1,2 @@ +Release +FRI 06 AUG 12:00:00 CET 2021
For people who do not want to mess with diff files the complete port is in post #11 of the following thread : https://forums.slimdevices.com/showthread.php?105656-Help-making-a-FreeBSD-port-for-Logitech-Media-Server/page2 If there is a new official release I will put the port on that forum and a link here.
(In reply to Hans Soonieus from comment #17) Hans, your patch also builds on my 13.0R amd64 system. The perl warnings I noted earlier are still there when building with poudriere, but everything else is OK. Should the arch determination be reverted back to the previous method?
(In reply to David Z. from comment #19) Hello David, This seems to be a warning specific to poudriere. If the build completes without error than the arch determination works because if it didn't then the build would fail with an error like this : cd: /usr/home/hans/logitechmediaserver-8.2.1/work/slimserver-vendor-1a6dc71/CPAN/build/arch/5.32/nonesense: No such file or directory *** Error code 2 Stop. make[1]: stopped in /usr/home/hans/logitechmediaserver-8.2.1 *** Error code 1 Stop. make: stopped in /usr/home/hans/logitechmediaserver-8.2.1 In Makefile line 87 and 88 the perl archname is determined and put in a variable ARCHNAME which is later (from line 102) used to copy files from the slimserver-vendor work directory to the staging directory. Originally this was done like this : .if ${ARCH} == "i386" ARCHNAME= i386-freebsd-thread-multi-64int PLIST_SUB+= I386_ONLY="" .else PLIST_SUB+= I386_ONLY="@comment " .endif .if ${ARCH} == "amd64" ARCHNAME= amd64-freebsd-thread-multi PLIST_SUB+= AMD64_ONLY="" .else PLIST_SUB+= AMD64_ONLY="@comment " .endif The PLIST_SUB is no longer necessary so line 87 and 88 could be replaced by : .if ${ARCH} == "i386" ARCHNAME= i386-freebsd-thread-multi-64int .endif .if ${ARCH} == "amd64" ARCHNAME= amd64-freebsd-thread-multi .endif
This ticket has been overtaken by events (Now at 8.3.1_1)