#36558 closed submission (fixed)
ssss @1.0.1
Reported by: | okoeroo@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | nonstop.server@… | |
Port: | ssss |
Description
Shamir's Secret Sharing is an algorithm in cryptography. It is a form of secret sharing, where a secret is divided into parts, giving each participant its own unique part, where some of the parts or all of them are needed in order to reconstruct the secret.
Counting on all participants to combine together the secret might be impractical, and therefore sometimes the threshold scheme is used where any k of the parts are sufficient to reconstruct the original secret.
Attachments (4)
Change History (13)
Changed 12 years ago by okoeroo@…
Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | Portfile.2 added |
---|
comment:1 follow-ups: 3 4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Thanks. I've attached a revised portfile, which uses the github portgroup and downloads from a distfile instead of downloading from git.
I also switched the system
invocation to use the -W
flag.
The port does not build for me. I'm attaching the main.log.
I don't understand why the port requests that MacPorts run autoreconf ("use_autoreconf yes
") but then afterward manually runs the bootstrap script which itself runs aclocal
, glibtoolize
, autoheader
, automake
and autoconf
. Shouldn't one or the other be sufficient?
comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Keywords: | security shamir secret sharing removed |
Port: | ssss added |
Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
comment:3 Changed 12 years ago by okoeroo@…
Replying to ryandesign@…:
Thanks. I've attached a revised portfile, which uses the github portgroup and downloads from a distfile instead of downloading from git.
I also switched the
system
invocation to use the-W
flag.The port does not build for me. I'm attaching the main.log.
I don't understand why the port requests that MacPorts run autoreconf ("
use_autoreconf yes
") but then afterward manually runs the bootstrap script which itself runsaclocal
,glibtoolize
,autoheader
,automake
andautoconf
. Shouldn't one or the other be sufficient?
I will analyse your main.log and see what's wrong. The double run of autoreconf (and friends) is more my stupidity I guess. The use_autoreconf yes was in my example.
Changed 12 years ago by okoeroo@…
Attachment: | Portfile.3 added |
---|
comment:4 Changed 12 years ago by okoeroo@…
Replying to ryandesign@…:
Thanks. I've attached a revised portfile, which uses the github portgroup and downloads from a distfile instead of downloading from git.
I also switched the
system
invocation to use the-W
flag.The port does not build for me. I'm attaching the main.log.
I don't understand why the port requests that MacPorts run autoreconf ("
use_autoreconf yes
") but then afterward manually runs the bootstrap script which itself runsaclocal
,glibtoolize
,autoheader
,automake
andautoconf
. Shouldn't one or the other be sufficient?
Hi,
I've been able to replicate the problem on a clean MacPorts machine. The project/ directory was required for my current autotools setup and was created by automake or autoconf at the end, but glibtoolize couldn't work. Running the install for a second time fixed it, but that's totally not good.
What I've changed in the Portfile.3 file is:
- Updated checksums
- Removed the autoreconf command
- Added a mkdir project/ before I run the autotools bootstrap
These changes solve my build problems on my reference machine.
It should work for you too :-)
comment:6 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… removed |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
Status: | new → assigned |
comment:7 follow-up: 9 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Thanks. Committed in r98694 with some changes. Since the bootstrap script is still running programs provided by the autoconf, automake and libtool ports, I added those dependencies to depends_build. ("use_autoreconf yes" had added them for you automatically, so when you removed that line it became your responsibility to add those dependencies yourself.) I also used the Tcl "file mkdir" command to make the project directory; no need to launch a separate program to do that.
With regard to the updated checksums, I see this is because you incorporated a fix to an issue I filed and re-tagged 1.0.1. Please avoid re-tagging your releases in the future. We call this a stealth update and we discourage it. Imagine what would have happened if we had accepted your 1.0.1 portfile as originally submitted (imagine we had figured out we needed to create the "project" directory and had included that directive in the portfile). Then two days later you re-tagged 1.0.1, thus changing the checksums. Now some users trying to install the port (those for whom the github server is closer than any MacPorts mirror server) will encounter a checksum mismatch error, which will inconvenience the user and will occupy our time when we have to deal with the bug report the user will undoubtedly file. Therefore once you've created a tag or release please consider it to be immutable. If you need to make further changes and publish them to your users, do so under a new version number.
comment:8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:9 Changed 12 years ago by okoeroo@…
Replying to ryandesign@…:
Thanks. Committed in r98694 with some changes. Since the bootstrap script is still running programs provided by the autoconf, automake and libtool ports, I added those dependencies to depends_build. ("use_autoreconf yes" had added them for you automatically, so when you removed that line it became your responsibility to add those dependencies yourself.) I also used the Tcl "file mkdir" command to make the project directory; no need to launch a separate program to do that.
With regard to the updated checksums, I see this is because you incorporated a fix to an issue I filed and re-tagged 1.0.1. Please avoid re-tagging your releases in the future. We call this a stealth update and we discourage it. Imagine what would have happened if we had accepted your 1.0.1 portfile as originally submitted (imagine we had figured out we needed to create the "project" directory and had included that directive in the portfile). Then two days later you re-tagged 1.0.1, thus changing the checksums. Now some users trying to install the port (those for whom the github server is closer than any MacPorts mirror server) will encounter a checksum mismatch error, which will inconvenience the user and will occupy our time when we have to deal with the bug report the user will undoubtedly file. Therefore once you've created a tag or release please consider it to be immutable. If you need to make further changes and publish them to your users, do so under a new version number.
Thanks for the fixes. I'm aware of my retagging action to be dangerous. As MacPorts is going to be the first one to really be hit by this I've took the liberty just this once to retag it fully understanding the potential impact of messing up the Port for others if I would do this again.
revised portfile proposal