Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On Sat, Apr 2, 2011 at 4:25 PM, Michael Terry wrote: > On 02/04/11 09:56, Scott Ritchie wrote: >> >> This has long been "good practice" for a variety of reasons > > I agree with all your reasons, but tend to prefer ~lucid1, ~maverick1, etc. > in case the same package is available for multiple releases. I may be a rare specimen but I combine both: debianversion~series~ppaNUMBER For instance: 3.1.8-2~maverick~pgquiles1 -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 02/04/11 14:56, Scott Ritchie wrote: > This has long been "good practice" for a variety of reasons > > 1) Independent PPA packages of new upstream versions can be > automatically replaced when a proper distro update occurs. > 2) If the PPA package itself gets promoted to the archive, it can be > replaced by just dropping the ~ppa > 3) It makes the version string more meaningful, as it prevents the > possibility of an official and PPA package having the same version > 4) If you are branching foo-0ubuntu1 and need multiple iterations you > now have a proper number to increment without implying you've rebased > off foo-0ubuntu2. > > Making such a change would have other value: > > 1) It makes it much easier to detect nonstandard packages on a system. > This can be done with automated tools too without fear of false > positives (in bug reports, with apport, with update manager, etc) > 2) If all PPA packages were so branded, it would be much easier to > implement a "remove all PPA packages" type of feature. > > > Thoughts? No, please no, this would be incredibly annoying? I pretty much agree with all the points in your "good practice" list, but the strict string "~ppa(number)" isn't the only way to satisfy them, and there are those of us out there who do understand Debian versioning and can pick reasonable strings ourselves. Whilst I think the widespread promotion of "~ppa1" has overall been a good thing, it has led to one negative effect - people who don't truly understand why it works seem to view "~" as a generic separator character rather than understanding its true meaning. In regards to your "other value" points, it really should not be that hard to implement those features in a more elegant and ultimately more useful way based on APT package lists and Origin metadata, rather than hacking it via substring matching on version strings. That said, I can totally see that it could be a good thing to implement a safety net in Launchpad which denies the ability to upload version strings that "look like" primary archive versions, unless the PPA owner clicks through an "I know what I am doing" questionnaire. Max. signature.asc Description: OpenPGP digital signature -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
I don't mind some safe heuristics like ~ppa being stripped for you if you say you're uploading to Ubuntu instead of a PPA, or vice-versa. But there are many different uses for PPA packages, so I wouldn't want a specific scheme to be required. I would propose that we try to discuss how to improve specific workflows and work from them. To take a couple of examples: * we had the case of people uploading to a PPA without a ~ in the version or people uploading to the archive something which was meant to be uploaded to the distro; I personally use a small dput wrapper (attached) which isn't too nice but does the job for me: it asks for confirmation if the version in the upload contains "ppa", a ~, or "dooz" (which is just what I use when uploading to my own PPAs -- I sometimes use ~linaro for Linaro PPAs, but sometimes ~lucid for backports) * another common request is identifying packages which come from PPAs; we could automatically include this information in .debs via some pkgbinarymangler trick, or via Launchpad; something like Built-In: ubuntu/lucid, Built-In: ppa:lool/ppa/ubuntu/lucid etc. This would likely be easier to implement globally. There are also packages which don't like special version numbers; I had cases of build failures when certain chars appear in the version or there is the case of the linux source package which puts very specific meaning behind versions, so it's not practical to impose a specific version scheming to all PPA packages immediately. -- Loïc Minier #!/bin/sh # dput - wrapper for /usr/bin/dput asking for confirmation on some uploads # Copyright (C) 2008 Loïc Minier # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # SOFTWARE IN THE PUBLIC INTEREST, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # Except as contained in this notice, the name of the author shall not be used # in advertising or otherwise to promote the sale, use or other dealings in # this Software without prior written authorization from the author. # # depends: dput set -e log() { echo "$*" >&2 } log_i() { log "I:" "$@" } die() { log "E:" "$@" exit 1 } yes_no_prompt() { local prompt="$1" local answer while read -p "$1" answer; do case "$answer" in Y|y|yes) return 0 ;; N|n|no) return 1 ;; "") return 2 ;; esac done } changes="" host="" for arg; do case "$arg" in -*) : ;; *.changes) changes="$changes $arg" ;; *) if [ -n "$host" ]; then die "Host $host already given but found $arg in args" fi host="$arg" ;; esac done confirm=no for change in $changes; do version="`sed -n '/^Format:/,/^$/s/^Version: *//p' "$change"`" if [ -z "$version" ]; then die "No Version header in $change" fi case "$host" in debian|ubuntu) case "$version" in *dooz*|*~*|*ppa*) log_i "Uploading $change with version $version to host $host requires confirmation" confirm=yes : ;; *) # doesn't need confirmation : ;; esac ;; ppa:*|ppa-*) # doesn't need confirmation : ;; *) log_i "Uploading to unknown host $host requires confirmation" confirm=yes ;; esac done if [ "$confirm" != no ]; then if ! yes_no_prompt "Confirm this upload? [y/N] "; then die "Upload aborted" fi fi exec /usr/bin/dput "$@" -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
2011/4/2 Scott Ritchie : > Of course things like apt pinning are going to be the ultimate arbiter, > but it would be nice to do what we can within the naming standards since > it's so much simpler to deal with. At the very least we can have some > defaults to expect (eg ppas will be replaced by packports unless the ppa > specifies a release version) > Right, I agree. If we can come to an agreement, it would even be better to publish a policy for it, and many indicate when a PPA follows it, so users can actually expect the given PPA to follow these rules and trust that the versions on this PPA will play nice with the official and backported packages. Raphaël -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 04/02/2011 08:29 AM, Raphaël Pinson wrote: > On Sat, Apr 2, 2011 at 5:19 PM, Scott Ritchie wrote: >> On 04/02/2011 08:08 AM, Felix Geyer wrote: >>> On 02.04.2011 16:36, Scott Kitterman wrote: My practice is to us ~ppa1 when targeting the development release and ~release1~ppa1 for previous releases. This has the advantage of naturally upgrading to an official backport if one is done since they use a ~releaseX numbering scheme. For all the reasons Scott argued for ~ppaX, I think ~release1~ppaX is the right answer for non-development releases >>> >>> That version scheme breaks once we are in the q-series as the p-codename >>> might be > "ppa". >>> >>> >> >> Shouldn't official backports replace ppa packages anyway? >> > > That release depends on the goal of the PPA. If it's just to provide > backport versions, then sure, that makes sense. But if the PPA > provides additional features (some bindings activated, a compilation > flag set, etc.), then no. I think though that it's the sysadmins' task > to set their apt_preferences correctly in order to ensure that they > get the version they consider to be prioritary. Backports and PPAs > provide versions, but it's up to the machine admin to choose which > version to install. > > Of course things like apt pinning are going to be the ultimate arbiter, but it would be nice to do what we can within the naming standards since it's so much simpler to deal with. At the very least we can have some defaults to expect (eg ppas will be replaced by packports unless the ppa specifies a release version) -Scott Ritchie -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 02.04.2011 15:56, Scott Ritchie wrote: > This has long been "good practice" for a variety of reasons > > 1) Independent PPA packages of new upstream versions can be > automatically replaced when a proper distro update occurs. > 2) If the PPA package itself gets promoted to the archive, it can be > replaced by just dropping the ~ppa > 3) It makes the version string more meaningful, as it prevents the > possibility of an official and PPA package having the same version > 4) If you are branching foo-0ubuntu1 and need multiple iterations you > now have a proper number to increment without implying you've rebased > off foo-0ubuntu2. > > Making such a change would have other value: > > 1) It makes it much easier to detect nonstandard packages on a system. > This can be done with automated tools too without fear of false > positives (in bug reports, with apport, with update manager, etc) > 2) If all PPA packages were so branded, it would be much easier to > implement a "remove all PPA packages" type of feature. PPA's are used to prepare uploads for the distribution too. In this case you don't want to have a ~ppaN suffix. -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On Sat, Apr 2, 2011 at 5:19 PM, Scott Ritchie wrote: > On 04/02/2011 08:08 AM, Felix Geyer wrote: >> On 02.04.2011 16:36, Scott Kitterman wrote: >>> My practice is to us ~ppa1 when targeting the development release and >>> ~release1~ppa1 for previous releases. This has the advantage of naturally >>> upgrading to an official backport if one is done since they use a ~releaseX >>> numbering scheme. For all the reasons Scott argued for ~ppaX, I think >>> ~release1~ppaX is the right answer for non-development releases >> >> That version scheme breaks once we are in the q-series as the p-codename >> might be > "ppa". >> >> > > Shouldn't official backports replace ppa packages anyway? > That release depends on the goal of the PPA. If it's just to provide backport versions, then sure, that makes sense. But if the PPA provides additional features (some bindings activated, a compilation flag set, etc.), then no. I think though that it's the sysadmins' task to set their apt_preferences correctly in order to ensure that they get the version they consider to be prioritary. Backports and PPAs provide versions, but it's up to the machine admin to choose which version to install. Raphaël -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On Sat, Apr 2, 2011 at 9:44 AM, Clint Byrum wrote: > Excerpts from Scott Ritchie's message of Sat Apr 02 06:56:04 -0700 2011: >> This has long been "good practice" for a variety of reasons >> >> 1) Independent PPA packages of new upstream versions can be >> automatically replaced when a proper distro update occurs. >> 2) If the PPA package itself gets promoted to the archive, it can be >> replaced by just dropping the ~ppa >> 3) It makes the version string more meaningful, as it prevents the >> possibility of an official and PPA package having the same version >> 4) If you are branching foo-0ubuntu1 and need multiple iterations you >> now have a proper number to increment without implying you've rebased >> off foo-0ubuntu2. >> >> Making such a change would have other value: >> >> 1) It makes it much easier to detect nonstandard packages on a system. >> This can be done with automated tools too without fear of false >> positives (in bug reports, with apport, with update manager, etc) >> 2) If all PPA packages were so branded, it would be much easier to >> implement a "remove all PPA packages" type of feature. > > Session or no, +1 from me. I have forgotten the ~ppaX a few times and > then been confused when the package doesn't update. I don't thin its > all that critical, but it would definitely prevent mistakes. > > If there is push back for some reason, it might make sense to have it > turned on by default but provide a checkbox to disable it. +1 to all what Clint said. I have also found myself training new Ubuntu packagers from time to time, and advising them on how to use PPAs, insisting that they use ~ppa1 or such on their packages, for all the reasons above. Occasionally they'll get advice from someone else who has a similar but slightly different scheme, perhaps the ~lucid1 model (which makes a lot of sense, too). So some standards here would be phenomenal. And if it's enforced by the archive, with a really useful/helpful source package rejection message would be awesome! -- :-Dustin Dustin Kirkland Ubuntu Core Developer -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 04/02/2011 08:08 AM, Felix Geyer wrote: > On 02.04.2011 16:36, Scott Kitterman wrote: >> My practice is to us ~ppa1 when targeting the development release and >> ~release1~ppa1 for previous releases. This has the advantage of naturally >> upgrading to an official backport if one is done since they use a ~releaseX >> numbering scheme. For all the reasons Scott argued for ~ppaX, I think >> ~release1~ppaX is the right answer for non-development releases > > That version scheme breaks once we are in the q-series as the p-codename > might be > "ppa". > > Shouldn't official backports replace ppa packages anyway? So if I forgo making foo-0ubuntu1~qrelease1~ppa1 and instead just do foo-0ubuntu1~ppa1, and then there's a q-release backport named foo-0ubuntu1~qrelease1, shouldn't that q-release backport replace my ppa package? If said backport already existed when I made my PPA, then I would have had to have the full ~qrelease1~ppa1 suffix to make it install anyway. Heck, maybe it's a problem that we aren't yet in Q-release ;) Perhaps Mark could be encouraged to name a P adjective that somehow comes later than ppa, which I guess implies starting with the letters PU. -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
I tend to use ~pparaphink1 for the current devel release, ~pparaphink1~release1 for backports. For named PPAs, such as Augeas, I would use ~ppaaugeas1 and ~ppaaugeas1~release1. That allows me to easily find the source of the packages on my system. Raphaël -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 02.04.2011 16:36, Scott Kitterman wrote: > My practice is to us ~ppa1 when targeting the development release and > ~release1~ppa1 for previous releases. This has the advantage of naturally > upgrading to an official backport if one is done since they use a ~releaseX > numbering scheme. For all the reasons Scott argued for ~ppaX, I think > ~release1~ppaX is the right answer for non-development releases That version scheme breaks once we are in the q-series as the p-codename might be > "ppa". -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 04/02/2011 07:36 AM, Scott Kitterman wrote: > On Saturday, April 02, 2011 10:25:31 AM Michael Terry wrote: >> On 02/04/11 09:56, Scott Ritchie wrote: >>> This has long been "good practice" for a variety of reasons >> >> I agree with all your reasons, but tend to prefer ~lucid1, ~maverick1, >> etc. in case the same package is available for multiple releases. >> -mt > > My practice is to us ~ppa1 when targeting the development release and > ~release1~ppa1 for previous releases. This has the advantage of naturally > upgrading to an official backport if one is done since they use a ~releaseX > numbering scheme. For all the reasons Scott argued for ~ppaX, I think > ~release1~ppaX is the right answer for non-development releases. > > I believe this is a best practice that should be documented somewhere in the > Launchpad documentation. I don't think PPA use is something we need a UDS > session for. > My thought was that if we made it a forced standard, we could improve the official ubuntu tools based on the new assumption. I see bug reports where PPA packages are installed that still managed to pass apport, for instance. -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
Excerpts from Scott Ritchie's message of Sat Apr 02 06:56:04 -0700 2011: > This has long been "good practice" for a variety of reasons > > 1) Independent PPA packages of new upstream versions can be > automatically replaced when a proper distro update occurs. > 2) If the PPA package itself gets promoted to the archive, it can be > replaced by just dropping the ~ppa > 3) It makes the version string more meaningful, as it prevents the > possibility of an official and PPA package having the same version > 4) If you are branching foo-0ubuntu1 and need multiple iterations you > now have a proper number to increment without implying you've rebased > off foo-0ubuntu2. > > Making such a change would have other value: > > 1) It makes it much easier to detect nonstandard packages on a system. > This can be done with automated tools too without fear of false > positives (in bug reports, with apport, with update manager, etc) > 2) If all PPA packages were so branded, it would be much easier to > implement a "remove all PPA packages" type of feature. Session or no, +1 from me. I have forgotten the ~ppaX a few times and then been confused when the package doesn't update. I don't thin its all that critical, but it would definitely prevent mistakes. If there is push back for some reason, it might make sense to have it turned on by default but provide a checkbox to disable it. -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On Apr 02, 2011, at 10:36 AM, Scott Kitterman wrote: >My practice is to us ~ppa1 when targeting the development release and >~release1~ppa1 for previous releases. I've been doing something very similar to this, so I think I'll start doing exactly this from now on. -Barry signature.asc Description: PGP signature -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On Saturday, April 02, 2011 10:25:31 AM Michael Terry wrote: > On 02/04/11 09:56, Scott Ritchie wrote: > > This has long been "good practice" for a variety of reasons > > I agree with all your reasons, but tend to prefer ~lucid1, ~maverick1, > etc. in case the same package is available for multiple releases. > -mt My practice is to us ~ppa1 when targeting the development release and ~release1~ppa1 for previous releases. This has the advantage of naturally upgrading to an official backport if one is done since they use a ~releaseX numbering scheme. For all the reasons Scott argued for ~ppaX, I think ~release1~ppaX is the right answer for non-development releases. I believe this is a best practice that should be documented somewhere in the Launchpad documentation. I don't think PPA use is something we need a UDS session for. Scott K -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Re: Should PPAs be forced to specify a ~ppa1 or similar in the package version?
On 02/04/11 09:56, Scott Ritchie wrote: This has long been "good practice" for a variety of reasons I agree with all your reasons, but tend to prefer ~lucid1, ~maverick1, etc. in case the same package is available for multiple releases. -mt -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
Should PPAs be forced to specify a ~ppa1 or similar in the package version?
This has long been "good practice" for a variety of reasons 1) Independent PPA packages of new upstream versions can be automatically replaced when a proper distro update occurs. 2) If the PPA package itself gets promoted to the archive, it can be replaced by just dropping the ~ppa 3) It makes the version string more meaningful, as it prevents the possibility of an official and PPA package having the same version 4) If you are branching foo-0ubuntu1 and need multiple iterations you now have a proper number to increment without implying you've rebased off foo-0ubuntu2. Making such a change would have other value: 1) It makes it much easier to detect nonstandard packages on a system. This can be done with automated tools too without fear of false positives (in bug reports, with apport, with update manager, etc) 2) If all PPA packages were so branded, it would be much easier to implement a "remove all PPA packages" type of feature. Thoughts? Worthy of a session? -Scott Ritchie -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel