Bug 127849 - New port: multimedia/libdvdread-mplayer
New port: multimedia/libdvdread-mplayer
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: rnoland
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-10-04 12:50 UTC by ganael.laplanche
Modified: 2009-02-10 19:19 UTC (History)
0 users

See Also:


Attachments
file.shar (5.92 KB, text/plain)
2008-10-04 12:50 UTC, ganael.laplanche
no flags Details
libdvdread.shar.txt (5.65 KB, text/plain)
2008-10-24 10:52 UTC, ganael.laplanche
no flags Details
patch-dvdread-deps.txt (16.74 KB, patch)
2009-01-16 12:10 UTC, ganael.laplanche
no flags Details | Diff
patch-dvdread-deps.txt (16.74 KB, patch)
2009-01-16 18:53 UTC, ganael.laplanche
no flags Details | Diff
patch-dvdread-deps.txt.gz.uue.txt (6.27 KB, patch)
2009-02-05 13:16 UTC, ganael.laplanche
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ganael.laplanche 2008-10-04 12:50:11 UTC
This port is the new (Mplayer team's) version of the dvdread library, which has been split apart from the dvdnav library. Here is the Changelog :

libdvdread (4.1.3)
  * an embarassing amount of fixes regarding potential memory and resource leaks
    (patches contributed by Erik Hovland)
  * added dvdread-config (dvdnav-config's younger brother)
  * added pkgconfig support
  * split dvdread to a separate tree

Fix: Patch attached with submission follows:
Comment 1 rnoland freebsd_committer 2008-10-22 17:17:50 UTC
Responsible Changed
From-To: freebsd-ports-bugs->rnoland

I'll take it.
Comment 2 rnoland freebsd_committer 2008-10-22 17:20:26 UTC
Can you verify that this is suitable as a replacement for the existing
libdvdread?

If we can just update the existing port to use the new version, I think
we should go that route rather than adding conflicts.

robert.
Comment 3 ganael.laplanche 2008-10-23 12:49:04 UTC
On Wed, 22 Oct 2008 12:20:26 -0400, Robert Noland wrote

Hi Robert,

thanks for your answer,

> Can you verify that this is suitable as a replacement for the existing
> libdvdread?
>
> If we can just update the existing port to use the new version, I think
> we should go that route rather than adding conflicts.

My original idea was to slowly introduce this new 'updated' version of dvdread,
but eh, replacing the old library is indeed a good idea :)

Well, I have performed a few tests to see if it could be a suitable replacement
for the original Ogle library. Here are the results :

1) First of all, the two libraries are told to be compatible on Mplayer's website :

"libdvdread was split from libdvdnav and is now developed in a separate tree,
retaining API compatibility with the old upstream."

Nevertheless, nm shows that a few symbols are unavailable on the new version :

DVDFileStat
DVDFinish
DVDInit
DVDVersion
cmdPrint_CMD
cmdPrint_mnemonic
ifoPrint
ifoPrint_C_ADT
ifoPrint_PGC
ifoPrint_PGCIT
ifoPrint_PGCI_UT
ifoPrint_PTL_MAIT
ifoPrint_TT_SRPT
ifoPrint_VMGI_MAT
ifoPrint_VOBU_ADMAP
ifoPrint_VTSI_MAT
ifoPrint_VTS_ATRT
ifoPrint_VTS_PTT_SRPT
ifoPrint_VTS_TMAPT

One header file is also missing (related to the two cmdPrint_XXX functions) :

include/dvdread/cmd_print.h

So, the two libs are theoretically *not* 100% compatible.

2) In practise, I have tried to build all the ports that depend directly on
multimedia/libdvdread against the new version. This means the following ones :

multimedia/dvdauthor
multimedia/k9copy
multimedia/ldvd
multimedia/libdvdnav
multimedia/libdvdnav-mplayer (new version, see PR ports/127851)
multimedia/libdvdplay
multimedia/libxine
multimedia/lsdvd
multimedia/lxdvdrip
multimedia/mmpython
multimedia/mplayerxp
multimedia/ogle
multimedia/ogmrip
multimedia/ogmtools
multimedia/streamanalyze
multimedia/streamdvd
multimedia/transcode
multimedia/vamps
multimedia/vlc
multimedia/vlc-devel
sysutils/dvdbackup
sysutils/k3b
sysutils/vobcopy
sysutils/vstrip (unused dependency on libdvdread ?)

I had troubles building the following two ports :

multimedia/mplayerxp => only for i386 (I run amd64 :p)
multimedia/ogle => does not build (missing symbols at linking, the ones listed
above)

3) I then tested to use the following applications :

multimedia/vlc        => OK (playing a DVD with DVDNAV is OK)
multimedia/vlc-devel  => NOK, core dumps, but even with a non-DVD movie file
(and even without libdvdread support built-in, so...)
multimedia/k9copy     => OK (successfully reads the dvd structure and accesses
the disc - full backup not tested)
sysutils/k3b          => OK (successfully ripped an entire DVD and encoded a
separate title)
multimedia/transcode  => OK (successfully ripped a title, tested using the
dvd::rip frontend)

4 - Conclusion)

So globally, I think that the library would be ready to be used as a replacement
for original ogle's dvdread library.

Here are the steps that I think will be required to replace the lib :

- Test more archs (I only tested on 8-CURRENT/amd64) ?
- Discuss about it on freebsd-multimedia ?
- Modify the libdvdread port (new, mplayer version) to add a libdvdread.so.5
symlink that points to libdvdread.so
  (it currently only provides .so.4) *or* modify each port's dependency
- Bump each port's PORTREVISION to force an update for the ports that depend on
libdvdread
- Ask for a repocopy from libvdvread to libdvdread-ogle ?
  and modify ogle to use the 'new' libdvdread-ogle port. Also
  add the required CONFLICTS (see ports/127850)

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 4 ganael.laplanche 2008-10-24 10:52:03 UTC
On Thu, 23 Oct 2008 13:08:19 -0400, Robert Noland wrote

Hi Robert,

I also forgot those 3 ports which do not have a dependency on an *explicit*
version of libdvdread :

multimedia/kissdx
multimedia/nmm
net/wizd

All of them build fine with the new lib.

> I would like to avoid adding CONFLICTS... I would rather just replace
> the port. We can handle changing the depends as needed.

Ok, so we would just change explicit dependencies for each ports listed in my
previous message from dvdread.5 to dvdread.4 (and bump PORTREVISION).

> I don't think I've ever been able to build mplayerxp...

Yes, it is quite old. I have never built it myself neither...

> We might need to take a look at ogle

I've quickly had a look at it. It seems that the only program that will no more
be buildable is the 'bin/ifo_dump' binary. This little utility could either be
removed or patched to print something like 'print_ifo() no more supported with
new libdvdread'...

> but in general, it sounds like a replacement is pretty viable.

Yes, you are right : Mplayer's version is the latest one available and it seems
that the team will continue to support it.

So, what's next ? I have attached a new version of the shar. You may want to
change the maintainer if you wish to continue to maintain it (otherwise, I'll
take it with great pleasure :)), and also the header of the Makefile.

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 5 rnoland freebsd_committer 2008-10-24 13:39:41 UTC
On Fri, 2008-10-24 at 11:52 +0200, Ganael LAPLANCHE wrote:
> On Thu, 23 Oct 2008 13:08:19 -0400, Robert Noland wrote
> 
> Hi Robert,
> 
> I also forgot those 3 ports which do not have a dependency on an *explicit*
> version of libdvdread :
> 
> multimedia/kissdx
> multimedia/nmm
> net/wizd
> 
> All of them build fine with the new lib.


cool

> > I would like to avoid adding CONFLICTS... I would rather just replace
> > the port. We can handle changing the depends as needed.
> 
> Ok, so we would just change explicit dependencies for each ports listed in my
> previous message from dvdread.5 to dvdread.4 (and bump PORTREVISION).


yes

> > I don't think I've ever been able to build mplayerxp...
> 
> Yes, it is quite old. I have never built it myself neither...
> 
> > We might need to take a look at ogle
> 
> I've quickly had a look at it. It seems that the only program that will no more
> be buildable is the 'bin/ifo_dump' binary. This little utility could either be
> removed or patched to print something like 'print_ifo() no more supported with
> new libdvdread'...


Ok, I'll try and have a look at it.

> > but in general, it sounds like a replacement is pretty viable.
> 
> Yes, you are right : Mplayer's version is the latest one available and it seems
> that the team will continue to support it.
> 
> So, what's next ? I have attached a new version of the shar. You may want to
> change the maintainer if you wish to continue to maintain it (otherwise, I'll
> take it with great pleasure :)), and also the header of the Makefile.


I'm thinking we might should wait for 7.1 since we will be touching
several ports.  You can take it if you like, I'm quite busy with all the
drm (direct rendering) and other graphics stuff.  I mostly just took it
because it didn't really take much work and needed a home.

robert.

> Best regards,
> 
> Ganaël LAPLANCHE
> ganael.laplanche@martymac.com
> http://www.martymac.com
> 
Comment 6 ganael.laplanche 2008-10-24 13:47:02 UTC
On Fri, 24 Oct 2008 08:39:41 -0400, Robert Noland wrote

> I'm thinking we might should wait for 7.1 since we will be touching
> several ports. 

Yes, it is better to wait for 7.1 to be released :)

> You can take it if you like, I'm quite busy with all 
> the drm (direct rendering) and other graphics stuff.  I mostly just 
> took it because it didn't really take much work and needed a home.

Ok, so I'll take maintainership for it, thanks !

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 7 ganael.laplanche 2009-01-13 16:38:09 UTC
Hi Robert,

First of all, happy new year :)

> I'm thinking we might should wait for 7.1 since we will be touching
> several ports.

Do you have any news regarding this PR ? As 7.1 is now out... ;-)

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 8 ganael.laplanche 2009-01-13 18:29:32 UTC
On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote

> Yes, we should get back to working on this...  I'm a little bogged down
> with xorg right now.  Refresh my memory, did we have everything pretty
> well ready to commit?

Nearly, if I remember correctly. Only those two ports had troubles using the new
lib :

multimedia/mplayerxp (not tested, because I am running amd64)
multimedia/ogle (missing symbols in the new library)

IMHO, here is what remains to do :

- modify each dependent port to depend on libdvdread.so.4 (not .so.5 as currently)
- bump each port's PORTREVISION to force an update for the ports that depend on
libdvdread
- mark ogle as BROKEN while no patch is available (a simple fix would be to
remove the ifo_dump utility from the port itself)
- fix the patch I sent in ports/127851 to depend on multimedia/libdvdread (and
not multimedia/libdvdread-mplayer)

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 9 ganael.laplanche 2009-01-16 12:10:36 UTC
On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote

Hello Robert,

> IMHO, here is what remains to do :
>
> - modify each dependent port to depend on libdvdread.so.4 (not .so.5 as
>   currently)
> - bump each port's PORTREVISION to force an update for the ports that depend
>   on libdvdread
> - mark ogle as BROKEN while no patch is available (a simple fix would be to
>   remove the ifo_dump utility from the port itself)

Here is a patch that fixes the 3 points above. I have also included a fix for
multimedia/gmerlin-avdecoder which has been recently added and failed to test
the version of libdvdread.

Here is a list of the ports I had to patch :

multimedia/dvdauthor
multimedia/gmerlin-avdecoder
multimedia/k9copy
multimedia/kissdx
multimedia/ldvd
multimedia/libdvdnav-mplayer
multimedia/libdvdnav
multimedia/libdvdplay
multimedia/libxine
multimedia/lsdvd
multimedia/lxdvdrip
multimedia/mmpython
multimedia/mplayerxp
multimedia/nmm
multimedia/ogle
multimedia/ogmrip
multimedia/ogmtools
multimedia/streamanalyze
multimedia/streamdvd
multimedia/transcode
multimedia/vamps
multimedia/vlc-devel
multimedia/vlc
net/wizd
sysutils/dvdbackup
sysutils/k3b
sysutils/vobcopy
sysutils/vstrip

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 10 ganael.laplanche 2009-01-16 18:53:44 UTC
On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote

Hello Robert,

> IMHO, here is what remains to do :
>
> - modify each dependent port to depend on libdvdread.so.4 (not .so.5 as
>   currently)
> - bump each port's PORTREVISION to force an update for the ports that depend
>   on libdvdread
> - mark ogle as BROKEN while no patch is available (a simple fix would be to
>   remove the ifo_dump utility from the port itself)

Here is a patch that fixes the 3 points above. I have also included a fix for
multimedia/gmerlin-avdecoder which has been recently added and failed to test
the version of libdvdread.

Here is a list of the ports I had to patch :

multimedia/dvdauthor
multimedia/gmerlin-avdecoder
multimedia/k9copy
multimedia/kissdx
multimedia/ldvd
multimedia/libdvdnav-mplayer
multimedia/libdvdnav
multimedia/libdvdplay
multimedia/libxine
multimedia/lsdvd
multimedia/lxdvdrip
multimedia/mmpython
multimedia/mplayerxp
multimedia/nmm
multimedia/ogle
multimedia/ogmrip
multimedia/ogmtools
multimedia/streamanalyze
multimedia/streamdvd
multimedia/transcode
multimedia/vamps
multimedia/vlc-devel
multimedia/vlc
net/wizd
sysutils/dvdbackup
sysutils/k3b
sysutils/vobcopy
sysutils/vstrip

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 11 ganael.laplanche 2009-01-17 11:32:49 UTC
On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote

Hi,

> Here is a patch that fixes the 3 points above.
> [...]

Please ignore the previous post (the one sent on Fri, 16 Jan 2009 19:53:44), it is
a buggy one :p

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 12 ganael.laplanche 2009-02-05 13:16:04 UTC
On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote

Hello Robert,

Good news regarding multimedia/ogle : the new libdvdread provides an ifo_print()
function that was previously included in ogle's ifo_dump utility as print_ifo().
By using this function, we can get the ifo_dump utility work again (and
multimedia/ogle port build correctly).

I have modified my previous patch to include this fix (and thus removed the
BROKEN flag for multimedia/ogle). I have also updated the patch to the latest
version of the ports tree (PORTREVISIONS are often modified). Find it attached
to this mail (gzipped, uuencoded).

I think we are now ready to push the new lib to the ports tree.

Best regards,

Ganaël LAPLANCHE
ganael.laplanche@martymac.com
http://www.martymac.com
Comment 13 rnoland freebsd_committer 2009-02-06 05:24:32 UTC
On Thu, 2009-02-05 at 14:16 +0100, Ganael LAPLANCHE wrote:
> On Tue, 13 Jan 2009 11:45:16 -0500, Robert Noland wrote
> 
> Hello Robert,
> 
> Good news regarding multimedia/ogle : the new libdvdread provides an ifo_print()
> function that was previously included in ogle's ifo_dump utility as print_ifo().
> By using this function, we can get the ifo_dump utility work again (and
> multimedia/ogle port build correctly).


Ok, great.  That resolves my concern...  I'll try and get all this
committed tomorrow.

robert.

> I have modified my previous patch to include this fix (and thus removed the
> BROKEN flag for multimedia/ogle). I have also updated the patch to the latest
> version of the ports tree (PORTREVISIONS are often modified). Find it attached
> to this mail (gzipped, uuencoded).
> 
> I think we are now ready to push the new lib to the ports tree.
> 
> Best regards,
> 
> Ganaël LAPLANCHE
> ganael.laplanche@martymac.com
> http://www.martymac.com

-- 
Robert Noland <rnoland@FreeBSD.org>
FreeBSD
Comment 14 dfilter freebsd_committer 2009-02-08 18:45:48 UTC
rnoland     2009-02-08 18:45:38 UTC

  FreeBSD ports repository

  Modified files:
    multimedia/dvdauthor Makefile 
    multimedia/gmerlin-avdecoder Makefile 
    multimedia/k9copy    Makefile 
    multimedia/kissdx    Makefile 
    multimedia/ldvd      Makefile 
    multimedia/libdvdnav Makefile 
    multimedia/libdvdnav-mplayer Makefile 
    multimedia/libdvdplay Makefile 
    multimedia/libdvdread Makefile distinfo pkg-descr pkg-plist 
    multimedia/libxine   Makefile 
    multimedia/lsdvd     Makefile 
    multimedia/lxdvdrip  Makefile 
    multimedia/mmpython  Makefile 
    multimedia/mplayerxp Makefile 
    multimedia/nmm       Makefile 
    multimedia/ogle      Makefile 
    multimedia/ogmrip    Makefile 
    multimedia/ogmtools  Makefile 
    multimedia/streamanalyze Makefile 
    multimedia/streamdvd Makefile 
    multimedia/transcode Makefile 
    multimedia/vamps     Makefile 
    multimedia/vlc       Makefile 
    sysutils/dvdbackup   Makefile 
    sysutils/k3b         Makefile 
    sysutils/vobcopy     Makefile 
    sysutils/vstrip      Makefile 
    net/wizd             Makefile 
  Added files:
    multimedia/libdvdread/files patch-Makefile patch-configure2 
    multimedia/ogle/files patch-vmg-ifo_dump.c 
  Log:
  Replace libdvdread with the version maintained by the mplayer group
  
          -Turn over maintainership
          -Bump ports that depend on libdvdread since shared lib
           version rolls back from .5 to .4
          -Fix multimedia/ogle build with this version
  
  PR:             127849
  Submitted by:   Ganael LAPLANCHE <ganael.laplanche@martymac.com>
  
  Revision  Changes    Path
  1.34      +2 -2      ports/multimedia/dvdauthor/Makefile
  1.3       +4 -2      ports/multimedia/gmerlin-avdecoder/Makefile
  1.11      +2 -2      ports/multimedia/k9copy/Makefile
  1.5       +1 -0      ports/multimedia/kissdx/Makefile
  1.23      +2 -2      ports/multimedia/ldvd/Makefile
  1.2       +2 -1      ports/multimedia/libdvdnav-mplayer/Makefile
  1.30      +2 -2      ports/multimedia/libdvdnav/Makefile
  1.11      +2 -2      ports/multimedia/libdvdplay/Makefile
  1.30      +30 -42    ports/multimedia/libdvdread/Makefile
  1.8       +3 -3      ports/multimedia/libdvdread/distinfo
  1.1       +24 -0     ports/multimedia/libdvdread/files/patch-Makefile (new)
  1.1       +41 -0     ports/multimedia/libdvdread/files/patch-configure2 (new)
  1.3       +2 -2      ports/multimedia/libdvdread/pkg-descr
  1.6       +11 -14    ports/multimedia/libdvdread/pkg-plist
  1.139     +2 -2      ports/multimedia/libxine/Makefile
  1.17      +2 -2      ports/multimedia/lsdvd/Makefile
  1.25      +2 -2      ports/multimedia/lxdvdrip/Makefile
  1.23      +2 -2      ports/multimedia/mmpython/Makefile
  1.70      +2 -2      ports/multimedia/mplayerxp/Makefile
  1.10      +1 -1      ports/multimedia/nmm/Makefile
  1.42      +2 -2      ports/multimedia/ogle/Makefile
  1.1       +140 -0    ports/multimedia/ogle/files/patch-vmg-ifo_dump.c (new)
  1.46      +2 -1      ports/multimedia/ogmrip/Makefile
  1.25      +2 -2      ports/multimedia/ogmtools/Makefile
  1.5       +2 -2      ports/multimedia/streamanalyze/Makefile
  1.8       +2 -2      ports/multimedia/streamdvd/Makefile
  1.112     +2 -2      ports/multimedia/transcode/Makefile
  1.8       +2 -2      ports/multimedia/vamps/Makefile
  1.181     +2 -1      ports/multimedia/vlc/Makefile
  1.2       +1 -0      ports/net/wizd/Makefile
  1.10      +2 -2      ports/sysutils/dvdbackup/Makefile
  1.55      +2 -1      ports/sysutils/k3b/Makefile
  1.32      +2 -2      ports/sysutils/vobcopy/Makefile
  1.5       +2 -2      ports/sysutils/vstrip/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 15 rnoland freebsd_committer 2009-02-10 19:19:24 UTC
State Changed
From-To: open->closed

Committed, with minor changes. Thanks!