Giter Site home page Giter Site logo

New release? about pupnp HOT 20 CLOSED

pupnp avatar pupnp commented on June 3, 2024
New release?

from pupnp.

Comments (20)

ukleinek avatar ukleinek commented on June 3, 2024 1

If @v00d00 gets a cookie, I request one, too :-)
(SCNR)

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024 1

Hi,

If you have the opportunity, please review the current master and 1.8 branches. On my side, we can do two releases by the end of next week.

I really don't know if the libtool numbers of 1.10.0 are ok. I would like to discuss it before release as this is traditionally a big source of problems.

Regards,
Marcelo.

from pupnp.

tmottabr avatar tmottabr commented on June 3, 2024 1

any info on when the next version will be released? users of gerbera are waiting for it for gerbera to work with samsung tvs. it required a patch that is only on master.

from pupnp.

 avatar commented on June 3, 2024 1

Hi,

As far as I can see, the 1.8 branch is working fine, and I am all for releasing 1.8.5.

The master branch has a source-level incompatibility, because of the additional parameter to the virtualdir callbacks, so releasing it would break any application currently using the virtual directory interface.

By the way, some of the related changes break the indentation (using 4 spaces instead of a tab). I don't care one way or another, but it would be better to keep it consistent and libupnp has always used tabs.

Also the SendInstruction struct was not always fully initialized, I just submitted a small pull request.

Other than that, both branches seem to work fine for me :)

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024 1

Sorry for that, I had not pushed the tags and had not not put the sources on sourceforge.

Thank you for reminding me.

Best regards,
Marcelo.

from pupnp.

whyman avatar whyman commented on June 3, 2024

Or 1.9 ideally!

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024

Hi Ian, which patch do you want to merge? If already merged, you just want a new release? I am sorry I somehow lost track of this issue.

from pupnp.

whyman avatar whyman commented on June 3, 2024

Haha no worries -- it is already merged to master, the one for "Request Cookies"

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024

Ok, lets release.

Ian, if I am not mistaken, your patch in only on master, not on 1.8. So we could do two releases, a 1.8.5 and a 1.10.0 on master. Normally we skip odd releases because a long time ago odd middle numbers were development releases. But I am not so attached to this, so If you think this policy is deprecated, we can go for 1.9.0 on master.

I have a configure.ac ready for 1.8, I will commit it for your review (libtool stuff). As soon as we agree on the name of the master release, I will do the same for master. Then it is cookies for all that committed. :)

from pupnp.

 avatar commented on June 3, 2024

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024

The problem is that if we do not break the interface, even if virtually, we may end up with 1.8.x having the same numbers as 1.10.x. Creating this new branch effectively prohibits adding interfaces to 1.8.

At least that is how I understand it, but I really don't know, I would like to hear from someone who packages before hearing the complaints :)

Cheers!

from pupnp.

 avatar commented on June 3, 2024

from pupnp.

ukleinek avatar ukleinek commented on June 3, 2024

The problem is that if we do not break the interface, even if virtually, we may end up with 1.8.x having the same numbers as 1.10.x. Creating this new branch effectively prohibits adding interfaces to 1.8.

At least that is how I understand it, but I really don't know, I would like to hear from someone who packages before hearing the complaints :)

With my Debian packager's hat on, I don't have a problem changing the API without the change of the version. The important restriction is that the library versioning (which has little connection to the version number of the project) is done right. If you are motivated to learn something, I recommend reading "How To Write Shared Libraries" by Ulrich Drepper (Chapter 3 is the interesting one here).
TLDR: Adding a new function to libupnp 1.8.x is fine iff a program that makes use of the new function fails to run if a too old function is used. The Debian tools are able to manage that just fine, and even emit a less strong dependency on libupnp when the program doesn't make use of the new function.

Best regards
Uwe

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024

Hi Uwe,

I really do appreciate your comments and I will certainly take a look at the document about shared libraries. But right now I am worried about an immediate naming problem. I don't know how things are done in Debian, I am sure it must be done in a smart way. But here is the situation in Opensuse Tumbleweed:

# rpm -qa | grep -i libupnp
libupnp13-1.8.4-2.5.x86_64
# rpm -ql libupnp13-1.8.4 | less
/usr/lib64/libupnp.so.13
/usr/lib64/libupnp.so.13.0.0
/usr/share/doc/packages/libupnp13
/usr/share/doc/packages/libupnp13/ChangeLog
/usr/share/licenses/libupnp13
/usr/share/licenses/libupnp13/COPYING

The "13" in the name refers to libtool's "current" number. The binary file libupnp.so.13.0.0 does not reflect the fact that it is a 1.8.x branch. So, libupnp 1.8.4 is "13.0.1", while libupnp 1.8.5 will be "14.0.1", meaning that 1.8.5 supports interfaces 14 and 13. What I called "virtually breaking interface" maybe would have been better called "artificially breaking the interface". Why I did that? Yes, the last patch does exactly that in case you did not see, but notice that we still did not release, so there is time to fix it. What would be the numbers for 1.10.0? Easy because interfaces were added. But the base for 1.10.0 is 1.8.4, not 1.8.5. Abstract the fact that we are doing this release simultaneously and pretend that we are releasing 1.10.0 before 1.8.5. Then libupnp 1.10.0 will be "14.0.1". As a consequence, the library file names will be the same upstream. The packagers will need to do some magic if they want to install two different versions of the library at the same time, which is something my experience tells me they often do, please correct me if I am wrong.

In summary, what I am trying to say is that in my current opinion, which is subject to change, of course, we should artificially break linking compatibility of libupnp 1.10.0 by making it be "15.0.0" instead of "14.0.1", and never again messing with 1.8.x interfaces so that "current" never gets bumped up again. Otherwise we risk having library files in different branches with the same name, which is likely a packager's nightmare.

What do you think folks?

Regards,
Marcelo.

from pupnp.

 avatar commented on June 3, 2024

Here is upnp port's maintainer for FreeBSD.

I am a bit confused about what the issue is (this might be because I am not native English speaker), but if I understood well you are worried about the possibility that maintainers/packagers might want to have different versions of libupnp in the repositories simultaneously and how should they do it.
In particular, it seems that you want to release two different versions: 1.8.5 and 1.10.0.
Please do not do that: choose a version and stick to it.

The problem is that if you have two different versions, both supported but incompatible (like it seems to me you want to do), some software will be developed with one version while other software will be developed with the other. That means that packagers will have to maintain both versions in their systems repository, which is very annoying, and the more the library is used the more it is annoying: see the python case.
In the python case, at least in FreeBSD, we always have to maintain and almost always to install two versions (2.7 and 3.6; maybe now the latter is 3.7) precisely for this reason, although many of our users (me for example) would like to install python only once.

Moreover, at least in my community, for this very reason there is some resistance in supporting multiple versions. See for example my precedent update of the upnp port:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234669

Lorenzo Salvadore.

from pupnp.

tmottabr avatar tmottabr commented on June 3, 2024

The extra headers patch in pull request #98 i refereed to is merged to master, if this can be merged back to 1.8 branch than a 1.8.5 release would suffice.

from pupnp.

 avatar commented on June 3, 2024

Please check, but as far as I can see, the patch is already in 1.8.

from pupnp.

tmottabr avatar tmottabr commented on June 3, 2024

You are correct. I had not checked that branch. Then i believe that a 1.8.5 release will enough.

from pupnp.

mrjimenez avatar mrjimenez commented on June 3, 2024

Just did the releases.

Regards,
Marcelo.

from pupnp.

ffontaine avatar ffontaine commented on June 3, 2024

Hi @mrjimenez, I don't see 1.8.5 on github or sourceforge, did I missed something?

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.