Bug 290822 - security/libxcrypt: Switch to upstream release archive and improve port
Summary: security/libxcrypt: Switch to upstream release archive and improve port
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Daniel Engberg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-05 18:55 UTC by Daniel Engberg
Modified: 2026-02-04 12:42 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (yuri)


Attachments
Patch for libxcrypt (2.56 KB, patch)
2025-11-05 18:55 UTC, Daniel Engberg
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Engberg freebsd_committer freebsd_triage 2025-11-05 18:55:08 UTC
Created attachment 265191 [details]
Patch for libxcrypt

* Use upstream release tarball, removed USES= autoreconf dependency
* Remove patch, builds fine without
* Add Perl5 build dependency
* Use INSTALL_TARGET instead of post-install for stripping
* Remove "make test" info, keep that in commit message

Compile and runtime tested on FreeBSD 14.3-RELEASE (amd64) (make, make check-plist, make test)

Poudriere testport OK 13.5-RELEASE (amd64)
Poudriere testport OK 13.5-RELEASE (i386)
Poudriere testport OK 14.3-RELEASE (amd64)
Comment 1 Daniel Engberg freebsd_committer freebsd_triage 2025-11-15 07:24:35 UTC
Friendly ping
Comment 2 commit-hook freebsd_committer freebsd_triage 2026-01-03 12:05:29 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1c18eaf913051e7e2503f05d438cc1636d66e554

commit 1c18eaf913051e7e2503f05d438cc1636d66e554
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2026-01-03 12:01:24 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2026-01-03 12:02:00 +0000

    security/libxcrypt: Use upstream release archive and improve port

    * Use upstream release tarball, removed USES= autoreconf dependency
    * Remove patch, not necessary
    * Add Perl5 build dependency
    * Use INSTALL_TARGET instead of post-install for stripping
    * Remove "make test" info, this shouldn't go into the port Makefile

    PR:             290822
    Approved by:    maintainer timeout, 1+ month

 security/libxcrypt/Makefile                       | 23 +++++------------------
 security/libxcrypt/distinfo                       |  6 +++---
 security/libxcrypt/files/patch-Makefile.am (gone) | 22 ----------------------
 3 files changed, 8 insertions(+), 43 deletions(-)
Comment 3 Daniel Engberg freebsd_committer freebsd_triage 2026-01-03 12:06:30 UTC
Committed
Comment 4 Robert Clausecker freebsd_committer freebsd_triage 2026-02-02 21:18:35 UTC
The port is now broken on platforms like armv7 FreeBSD 15 with missing symbol errors:

ld: error: version script assignment of 'XCRYPT_2.0' to symbol 'crypt_gensalt_r' failed: symbol not defined
ld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt' failed: symbol not defined
ld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt' failed: symbol not defined
ld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt_r' failed: symbol not defined
ld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined

Please test more thoroughly in the future.
I will commit a patch shortly to fix this.
Comment 5 Daniel Engberg freebsd_committer freebsd_triage 2026-02-02 21:57:53 UTC
(In reply to Robert Clausecker from comment #4)
Complain to upstream, https://github.com/besser82/libxcrypt/commit/42295eb93713caefff4edbecccf7a001ce624b33
Comment 6 Daniel Engberg freebsd_committer freebsd_triage 2026-02-02 22:03:03 UTC
(In reply to Daniel Engberg from comment #5)
..and for that matter, you should direct that to https://cgit.freebsd.org/ports/commit/?id=41d9b4eea5e03c9327bb08256b7d2678b3ad8a35 .
Comment 7 Robert Clausecker freebsd_committer freebsd_triage 2026-02-02 22:52:55 UTC
(In reply to Daniel Engberg from comment #6)

The symbols are supposed to be there, they are not being generated because __attribute__((alias)) doesn't seem to work as intended.

The fix I plan to push changes configuration options such that no attempt will be made to define the symbols in question.
Comment 8 commit-hook freebsd_committer freebsd_triage 2026-02-04 12:42:28 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1c392f50221bba1802fa73b3f266d92f0e94e5fa

commit 1c392f50221bba1802fa73b3f266d92f0e94e5fa
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2026-02-02 21:32:27 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2026-02-04 12:41:15 +0000

    security/libxcrypt: work around symbol alias issue

    This port uses symbol aliases to provide certain legacy symbols.
    Following commit 1c18eaf, symbol maps were reenabled, exposing that
    these legacy symbols were never actually generated.

    The project tries to generate legacy symbol aliases using
    __attribute__((alias)), which seems to have no effect.
    Sidestep this problem for now by disabling all legacy symbols.

    Approved by:    portmgr (build fix blanket)
    PR:             290822
    Fixes:          1c18eaf913051e7e2503f05d438cc1636d66e554

 security/libxcrypt/Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)