Comments (16)
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.
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.
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.
from pupnp.
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.
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.
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.
Lets do it.
Fabrice, thank you very much for the patch!
Regards,
Marcelo.
from pupnp.
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.
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.
Thanks for testing, the PR #17 renames all test, unittest and sample programs.
from pupnp.
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.
Happy new year guys! Any update on getting 1.8 out the door?
from pupnp.
Tagged!
from pupnp.
Awesome! Should we take the tarballs from https://github.com/mrjimenez/pupnp/releases/tag/release-1.8.0 as the release tarballs?
from pupnp.
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)
- UpnpExtraHeaders.h missing from cmake build in branch-1.14x HOT 6
- tv_device runs into error "free(): double free detected in tcache 2" HOT 4
- Unable to limit HTTP POST data
- Question regarding MSG_DONTROUTE during HTTP download
- Android API<24 does not implement `getifaddrs`
- How to Know the Source Port for gSsdpReqSocket?
- Wrong `strncpy` to `strncpy_s` aliasing HOT 6
- XML with leading UTF-8 BOM cannot be parsed
- Windows build manual significantly out of date HOT 4
- Simple quickstart required and suggested
- Release tarball missing files HOT 9
- Libupnp fails on amule with some routers HOT 2
- Crash in httpreadwrite.c HOT 14
- memory leak in upnpapi.c ? HOT 13
- heap-buffer-overflow
- gtest directory missing in tarball HOT 2
- Memory leak in function TvDeviceSetContrast HOT 1
- The mini server socket lost packets。 miniserver.c HOT 8
- Continuously sending A large number of SUBSCRIBE packet with random callback, leads to memory resources exhausted.
- 1.14.19: pkgconfig integration contains no version HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pupnp.