Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update emacs-*-devel versions, fix variants and misc clean ups #1954

Merged
merged 1 commit into from Jun 7, 2018
Merged

Update emacs-*-devel versions, fix variants and misc clean ups #1954

merged 1 commit into from Jun 7, 2018

Conversation

wyuenho
Copy link
Contributor

@wyuenho wyuenho commented Jun 5, 2018

Description

emacs|emas-devel|emacs-app|emacs-app-devel: bump revisions and fix variants

  • set emacs-devel and emacs-app-devel to use HEAD
  • move dbus variant under emacs and emacs-devel because it makes no sense to enable that when building the NS port app subports
  • hide inline variant from emacs-app-devel
  • only patch src/dbusbind.c when building dbus variant
  • update git.url
  • bump revisions for emacs and emacs-app
  • remove emacs-devel src/dbusbind.c patch cos it's the same as emacs'

References:
https://trac.macports.org/ticket/56423
#1936
#1948

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 10.13.5
Xcode 9.4

Verification

Have you

  • checked your Portfile with port lint?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?

…riants

* set emacs-devel and emacs-app-devel to use HEAD
* move dbus variant under emacs and emacs-devel
* hide inline variant from emacs-app-devel
* only patch src/dbusbind.c when building dbus variant
* update git.url
* bump revisions for emacs and emacs-app
* remove emacs-devel src/dbusbind.c patch cos	it's the same as emacs'

References: https://trac.macports.org/ticket/56423
            #1936
            #1948
@macportsbot
Copy link

Notifying maintainers:
@drkp for port emacs.

@macportsbot
Copy link

Travis Build #2511 Passed.

Lint results
--->  Verifying Portfile for emacs
Warning: Variant x11 overrides global description
--->  0 errors and 1 warnings found.

Port emacs success on xcode9.3. Log
Port emacs-app success on xcode9.3. Log
Port emacs-app-devel success on xcode9.3. Log
Port emacs-devel success on xcode9.3. Log
Port emacs success on xcode8.3. Log
Port emacs-app success on xcode8.3. Log
Port emacs-app-devel success on xcode8.3. Log
Port emacs-devel success on xcode8.3. Log
Port emacs success on xcode7.3. Log
Port emacs-app success on xcode7.3. Log
Port emacs-app-devel success on xcode7.3. Log
Port emacs-devel success on xcode7.3. Log

@pmetzger pmetzger requested a review from drkp June 5, 2018 18:34
@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 6, 2018

@drkp @l2dy how does this look?

@drkp drkp merged commit e52ab5a into macports:master Jun 7, 2018
@wyuenho wyuenho deleted the update-emacs-devel branch June 7, 2018 00:46
@@ -52,18 +52,10 @@ if {$subport eq $name || $subport eq "emacs-app"} {
}

if {$subport eq "emacs-devel" || $subport eq "emacs-app-devel"} {
version 20170918
revision 1
version HEAD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, we don't use HEAD as version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do you use when a number doesn't make sense?

@drkp
Copy link
Contributor

drkp commented Jun 7, 2018

Ugh, I wasn't paying close enough attention; I shouldn't have merged that!

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2018

What's the Macports convention for recompile-from-HEAD-everytime-I-force-reinstall then?

@drkp
Copy link
Contributor

drkp commented Jun 7, 2018

There is none.

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2018

IMO, there should be, and here it is.

@l2dy
Copy link
Member

l2dy commented Jun 7, 2018

Using HEAD as the version means

  • when a user reports a bug, we can't be sure which commit he's using from the port version and revision.
  • build may fail due to a new commit upstream, and we are forced to fix it soon because it breaks the port.

And, if we don't bump revision from time to time:

  • users won't get updates.
  • our Buildbot will skip future builds.

@drkp
Copy link
Contributor

drkp commented Jun 7, 2018

Ports should be pinned to a specific version (here, git commit) so that builds are reproducible.

Also, the buildbot has at least in the past had trouble with git:// urls, which is why we were using http fetch. I am going to change that back too.

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2018

What's the point of a "devel" port if it has to be "reproducible"? The point of such ports is exactly because people want the bleeding edge, so if they want to update a devel port, they can just do a force reinstall. This isn't exactly a new concept, lots of linux package managers have something like this. Homebrew has dev channels, using HEAD is the closest to such concepts short of building out an entire infrastructure to support that.

You are going to have to deal with tickets regardless of whether a devel port is pinned to a git revision or not. Its unstable nature by definition means lots of maintenance. If you set it to head, people can just forget about it and force a reinstall every time he wants a new build from HEAD.

Also, I've never heard of a emacs revision that fails at building, so I don't think we should exaggerate its impact.

@l2dy
Copy link
Member

l2dy commented Jun 7, 2018

@wyuenho e.g. if one of our patches fails to apply... This could happen.

drkp added a commit that referenced this pull request Jun 7, 2018
@drkp
Copy link
Contributor

drkp commented Jun 7, 2018

Fixed up in 8747064.

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2018

There are no patches for the devel ports by default. The dbus variant for emac-devel and mutilfont_color patch for emacs-app-devel are both one-liners, so highly unlikely they'll break. I've already hidden the inline patch from emacs-app-devel.

Anyway if you pin to a revision, might as well remove the devel ports and tell uses to go compile it yourselves...

@jmroot
Copy link
Member

jmroot commented Jun 7, 2018

If you really want to, you can specify an arbitrary git.branch on the command line when installing.

@wyuenho
Copy link
Contributor Author

wyuenho commented Jun 7, 2018

Is this yet another undocumented feature?

@jmroot
Copy link
Member

jmroot commented Jun 7, 2018

It's documented, just not recommended for common use.

Packaging is a form of curation. If you're getting a non-deterministic version of the software when you install, then as you say you might as well remove the devel ports and tell users to go compile it themselves.

@ryandesign
Copy link
Contributor

Also, the buildbot has at least in the past had trouble with git:// urls, which is why we were using http fetch. I am going to change that back too.

When MacPorts was hosted at Apple, we had to contend with the very restrictive settings of Apple's corporate firewall. Now that we are hosting elsewhere, those restrictions no longer affect our buildbot. However, they may still affect users who install from source from restrictive networks, so using http or https is probably the most compatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6 participants