#69109 closed defect (fixed)

codeblocks-devel: fetches nondeterministic code; builds are not reproducible

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: codeblocks-devel

Description

The build of codeblocks-devel is not reproducible because it fetches from the head/trunk of git/svn repositories rather than a specific commit hash/revision:

https://github.com/macports/macports-ports/blob/662ae1853afd7f6832c247178dd8f4180ff6b915/devel/codeblocks-devel/Portfile#L42-L43

Change History (6)

comment:1 Changed 10 months ago by kencu (Ken)

They have removed the github external completely, so I'll cull that out of the next update.

They do just pull the trunk of the other external though -- they always have done, for years. What we build matches their "nightly" but their builds should use a designated revision.

comment:2 Changed 10 months ago by kencu (Ken)

On the good front, they are almost ready for a new codeblocks release, and that will be a frozen code base. They only release every few years, it seems -- last one was in early 2020.

comment:3 in reply to:  1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to kencu:

They have removed the github external completely, so I'll cull that out of the next update.

Yes, I see that they did that. As long as that module remains compatible with codeblocks and provides a useful feature there's no reason why we can't continue to include it in MacPorts.

They do just pull the trunk of the other external though -- they always have done, for years.

Yes, I see that, but it's not appropriate for MacPorts, so we need to fix it to make sure it doesn't do that when installed via the port.

comment:4 Changed 10 months ago by Ken <21211439+kencu@…>

In ef9dc2ab2877e2ff4c67661b56739bfbe9de14a0/macports-ports (master):

codeblocks-devel

specify the revision of the svn external manual checkout

see: #69109

comment:5 Changed 10 months ago by kencu (Ken)

unfortunately cloning a specific commit hash in git seems to be a multistep process -- clone the whole repo, then cd into it, and checkout the hash.

like this:

https://github.com/macports/macports-ports/blob/ef9dc2ab2877e2ff4c67661b56739bfbe9de14a0/multimedia/mplayer-devel/Portfile#L35

comment:6 Changed 10 months ago by kencu (Ken)

Owner: set to kencu
Resolution: fixed
Status: assignedclosed

In 47759bc3adc30b766daf984309ac97a340ae0c80/macports-ports (master):

codeblocks-devel: spec the external revisions

closes: #69109

no revbumps as nothing has changed with the builds

Note: See TracTickets for help on using tickets.