[MacPorts] #46575: submission of the Charm time tracker for Qt4 or Qt5
MacPorts
noreply at macports.org
Sun Jan 18 18:03:47 PST 2015
#46575: submission of the Charm time tracker for Qt4 or Qt5
--------------------------+--------------------------------
Reporter: rjvbertin@… | Owner: macports-tickets@…
Type: submission | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: Charm |
--------------------------+--------------------------------
Comment (by ryandesign@…):
Replying to [comment:4 rjvbertin@…]:
> Replying to [comment:2 ryandesign@…]:
>
> > * Why call `github.setup` with a commit hash? Why not use the 1.8.0
tag?
> I'm not really familiar with git tags, and I *guess* that using a commit
tag gives a potentially new snapshot of a given version.
Developers of most software projects commit changes to their software to
their revision control system in logical chunks, called commits or
revisions, and when they have finished a set of work they invent a new
version number for the project, "tag" that version with a new version
number, and release it to the world. Typically in MacPorts we want to
follow a project's releases, not its commits, because commits typically
represent an intermediate stage of development that may not be suitable
for public consumption. On the other hand, sometimes the latest release
has bugs that were fixed right after release, and in those cases we may
use a newer commit, or add local patchfiles to deal with the issue.
Sometimes developers release software very infrequently, and we may follow
commits in that case, if we cannot convince the developers to adopt a more
frequent release schedule.
> > Livecheck would work better and you wouldn't have to define
`version` separately.
>
> Livecheck with git?
Since we usually follow releases, not commits, usually we want livecheck
to tell us about releases, not commits. That's what happens when you
invoke `github.setup` with a tag (i.e. release) name. If, on the other
hand, you invoke `github.setup` with a commit hash, then livecheck changes
to tell you about newer commits.
> > * Why is `fetch.type git` necessary?
>
> I suppose it's redundant, then?
Not at all. Perhaps you're confused about the difference between git and
github. git is a client and server software program for managing a
revision control system. github is a service that provides hosting for git
repositories, issue trackers, wikis, web sites, code fragments, and so
forth. In addition, github can generate tarballs for any revision or tag
of any hosted git repository. The github portgroup sets up defaults
appropriate for interacting with projects hosted at github, including
using those tarballs. In MacPorts, we prefer ports to fetch their code
from tarballs, zip files, or similar distfiles that are downloaded from a
web or ftp server. This is preferred because the portfile lists checksums
for each such file, so when the file arrives, you know it is identical to
the one the port author used and tested. Furthermore, the MacPorts
infrastructure automatically mirrors distfiles on a global network of
servers, resulting in fault tolerance and faster downloads. Finally,
distfiles are cached on the local system, so if you retry a build, you
don't need to download the distfile each time. If you use `fetch.type
git`, you indicate that you want to forgo all those advantages and
communicate directly with the underlying git repository every time you
build a port. There are some situations where that is needed, some
examples of which are given in the comments in the github portgroup, but
when it is not needed, it should be avoided.
> > * Remove the quotation marks around the value of the `conflicts`
option; they're not needed.
>
> A bit confusing to know when they're needed or not!
The most common reason to need quotes is if you are including whitespace
in the variable's value, although even then it's only needed when dealing
with pure variables (i.e. those you set with the Tcl command `set`), not
MacPorts "options", which are a more advanced kind of variable.
--
Ticket URL: <https://trac.macports.org/ticket/46575#comment:19>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list