Opened 18 years ago

Closed 18 years ago

#6086 closed defect (wontfix)

Port 1.200 doesn't rebuild enough; doesn't check Portfile syntax

Reported by: yaseppochi (Stephen J. Turnbull) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.0
Keywords: Cc:
Port:

Description

While trying to get past Bug #5986, I ran into the following issues.

... After a maintainer patch to gnome-vfs, I wrote:

Uh-oh. Since you didn't bump the revision, port doesn't think anything has changed, and instead of rebuilding, it just unpacked the existing tarball. So let's add a revision number. Nope, that doesn't help, not even with port -f.

Specifically, I tried "port -f upgrade gnome-vfs" and "port -f install gnome-vfs" (I expected the latter to bomb out due to the earlier installation, but I hoped to get a build). Problem #1: as I understand it, -f is supposed to make port forget the current state. Since the change in the portfile was to "post-patch" code, port should have (a) reunpacked the distributed sources, (b) applied the patches, and (c) applied the "post-patch" changes, which should have caused make to rebuild the port. This is regardless of the keyword typo; if the typo was not recognized, I think the portfile should be treated as containining no "revision", but the -f flag should make port try to do everything.

Problem #2: At this point, I had misspelled "revision" as "revison". Since that's not the appropriate keyword, it should be flagged as a syntax warning or even an error, depending on how port is specified to deal with extensions to portfile syntax. However, the command did nothing, silently. Quoting from Bug #5986 again:

OK, we're back to blasting the obstacles: port -f uninstall gnome-vfs; port clean --all gnome-vfs. ... oh, *now* I get a syntax error for the misspelling "revison". Not triggered by upgrade or uninstall, only by clean. Hm. Let's fix the typo, bump the revision to 42 for good luck, and do the clean anyway.

Finally! Everything worked.

So for some reason "port clean gnome-vfs" does check syntax.

Change History (3)

comment:1 Changed 18 years ago by jberry@…

This issue is not specific to dp 1.2.

Your problem 1: port upgrade relies on the portindex to determine whether the port is up to date or not; it does not even read the portfile until it has decided it needs to upgrade the port. So if the installed version is >= the version in the portindex, upgrade will do nothing, and will also not syntax check the portfile (because it doesn't even read it). -f does nothing in this case. It does not force an update that would not happen otherwise. If the portindex doesn't change you need to update the port manually.

Your problem 2: See problem 1.

comment:2 Changed 18 years ago by yaseppochi (Stephen J. Turnbull)

I was afraid it was something like that.

comment:3 Changed 18 years ago by markd@…

Resolution: wontfix
Status: newclosed

Siknce there is not a problem that will be fixed I'm marking this as 'wontfix' per James' comments.

Note: See TracTickets for help on using tickets.