Giter Site home page Giter Site logo

1.8/2.0 Release about pupnp HOT 16 CLOSED

whyman avatar whyman commented on June 13, 2024
1.8/2.0 Release

from pupnp.

Comments (16)

ffontaine avatar ffontaine commented on June 13, 2024 1

I'm ok with your suggestion. I prepared a patch with this change. If Marcelo is ok, I will commit it to the master branch. Then, you could test on your side that everything is ok with your version of mediatomb. Then, we could make the release.

from pupnp.

ffontaine avatar ffontaine commented on June 13, 2024

Hi,

I would be more than happy to make a tag on the first 1.8.0 version. Marcello made a lot of work on this version.

My only concern is that the external API of the 1.8.x serie is not compatible with the 1.6.x serie. So, maintainers of the pupnp in the different buildsystems should not upgrade their version of pupnp as this will break most (all?) existing applications that depend on pupnp (igd2-for-linux, vlc, ushare, mediastreamer, mpd, ...).

So, maintainers should probably provide a dedicated pupnp-1.8 package like python3 / python2.
However, if we do not change anything in the build system files, we'll not be able to install applications that depends on pupnp and pupnp-1.8 on the same machine, because both packages will share the same include path (xxx/include/upnp) and the same library names (libupnp, libthreadutil, libixml).
So, I would suggest to rename 1.8.x to 2.x.x and to change the include path and library names to xxx/include/upnp2, libupnp2*, libupnp2.pc, ... I would like more feedback on this proposal (for example from @grahamc or @mrjimenez).

Best Regards,

Fabrice

from pupnp.

whyman avatar whyman commented on June 13, 2024

So, I would suggest to rename 1.8.x to 2.x.x and to change the include path and library names to xxx/include/upnp2, libupnp2*, libupnp2.pc

Great idea, co-installable would be the best way to not break existing 1.6 users, then developers can move to the new API when they like.

from pupnp.

grahamc avatar grahamc commented on June 13, 2024

from pupnp.

ffontaine avatar ffontaine commented on June 13, 2024

Thanks for your answers.
The only concern I have on my own proposal is that the UPnP Forum (now a part of OCF: https://openconnectivity.org) released in February 2015 the UPnP Device Architecture 2.0 (http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf).
I fear that using upnp2 inside our package or library names could give the misleading impression that pupnp2 is compliant with this new UDA which is not the case. For example, SSDP messages do not include the new required headers such as BOOTID.UPNP.ORG or CONFIGID.UPNP.ORG.

from pupnp.

whyman avatar whyman commented on June 13, 2024

Yes I agree that perhaps that number could be confusing.

Versioning per branch does make sense, so perhaps we go with xxx/include/upnp-1.8, libupnp-1.8*, libupnp-1.8.pc? This seems to be the scheme most versioned libraries are using on my system at least.

from pupnp.

ffontaine avatar ffontaine commented on June 13, 2024

I created the PR #16 so we could test and update the PR and keep the main repo's history as clean as possible.

from pupnp.

mrjimenez avatar mrjimenez commented on June 13, 2024

Lets do it.

Fabrice, thank you very much for the patch!

Regards,
Marcelo.

from pupnp.

whyman avatar whyman commented on June 13, 2024

Thanks guys, this looks awesome!

Ive managed to install 1.8 next to 1.6 on my system! 👍

I will try MediaTomb later today.

from pupnp.

whyman avatar whyman commented on June 13, 2024

The only note is that if you choose to build "samples" with both versions they will collide as they are unversioned, but I doubt we need to care about that as its just the samples and I'm not sure why you would need samples from each version.

from pupnp.

ffontaine avatar ffontaine commented on June 13, 2024

Thanks for testing, the PR #17 renames all test, unittest and sample programs.

from pupnp.

whyman avatar whyman commented on June 13, 2024

After a patch to update the search and include paths, all is good!

$ ldd mediatomb | grep upnp
        libupnp-1.8.so.10 => /usr/lib64/libupnp-1.8.so.10 (0x00007fb0de8e1000)

from pupnp.

whyman avatar whyman commented on June 13, 2024

Happy new year guys! Any update on getting 1.8 out the door?

from pupnp.

mrjimenez avatar mrjimenez commented on June 13, 2024

Tagged!

from pupnp.

whyman avatar whyman commented on June 13, 2024

Awesome! Should we take the tarballs from https://github.com/mrjimenez/pupnp/releases/tag/release-1.8.0 as the release tarballs?

from pupnp.

ffontaine avatar ffontaine commented on June 13, 2024

I think you can.
Perhaps, we should also update the sourceforge website?
I also added some release notes and tag this release as "pre-release":

This is the first pre-release of the 1.8.x branch of pupnp.
The API of this branch is not backward compatible with the 1.6.x branch.
So, to avoid breaking existing applications which depend on the usual 1.6.x API, the 1.8.x branch will:

  • install its headers into the upnp-1.8 subdirectory
  • add the "-1.8" suffix to its library names (for example libupnp-1.8.so), its pkgconfig file (libupnp-1.8.pc) or its samples (for example tv_ctrlpt-1.8)

For the time being, both branches will continue to be maintained.

from pupnp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.