Skip to content

unibilium: add new package - #27951

Open
betonmischer86 wants to merge 1 commit into
openwrt:masterfrom
betonmischer86:master-unibilium
Open

betonmischer86 wants to merge 1 commit into
openwrt:masterfrom
betonmischer86:master-unibilium

Conversation

@betonmischer86

@betonmischer86 betonmischer86 commented Nov 25, 2025 •

Copy link
Copy Markdown

📦 Package Details

Maintainer: @betonmischer86
(You can find this by checking the history of the package Makefile.)

Description:
Unibilium is a very basic terminfo library. It can read and write ncurses-style terminfo files, and it can interpret terminfo format strings.


🧪 Run Testing Details

  • OpenWrt Version: OpenWrt SNAPSHOT r31813
  • OpenWrt Target/Subtarget: mediatek/filogic
  • OpenWrt Device: Banana Pi BPI-R4 (2x SFP+)

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

If your PR contains a patch:

  • It can be applied using git am
  • It has been refreshed to avoid offsets, fuzzes, etc., using
    make package/<your-package>/refresh V=s
  • It is structured in a way that it is potentially upstreamable
    (e.g., subject line, commit description, etc.)
    We must try to upstream patches to reduce maintenance burden.

@GeorgeSapkin GeorgeSapkin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Unless something is going to depend on this library, and nothing indicates this in either the PR or commit message, there's no point adding it.

As with the other PRs, you need to set yourself as the maintainer and don't need to include the license file.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new libunibilium package to the OpenWrt packages feed, providing the Unibilium terminfo parsing library for potential downstream consumers.

Changes:

  • Adds package metadata, source download information, license, maintainer, and description.
  • Defines build/install behavior for staging headers, pkg-config metadata, static library, and shared library files.
  • Sets terminfo search paths via upstream Makefile flags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread libs/unibilium/Makefile
ncurses-style terminfo files, and it can interpret terminfo format strings.
endef

MAKE_FLAGS+= TERMINFO_DIRS='"/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo:/usr/local/share/terminfo:/usr/local/lib/terminfo"'
Comment thread libs/unibilium/Makefile

PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
@BKPepe
BKPepe force-pushed the master-unibilium branch from 8b53edb to 0abed55 Compare July 6, 2026 08:08

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Commit checks

  • The commit message body contains a stray junk token: "It can read and write sdfkj ncurses-style terminfo files, ...". Please remove sdfkj so the message matches the (clean) Package/libunibilium/description text in the Makefile.

Generated by Claude Code

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Commit checks

  • 73938e9 "unibilium: add new package" — the commit body still carries a stray junk token: "It can read and write sdfkj ncurses-style terminfo files, ...". The Package/libunibilium/description text in the Makefile is clean, so please drop sdfkj to make the two agree. (Same finding as my review on 0abed55; the rebase to 73938e9 carried it over unchanged.)

libs/unibilium/Makefile itself is byte-identical to the version I last reviewed — the only change on this push is the rebase onto a newer master. The two inline notes re-raise unresolved build-system questions that GitHub now hides as outdated; neither is a confirmed defect, since I could not fetch the upstream tarball from this session and no build job has run on this head.


Generated by Claude Code

Comment thread libs/unibilium/Makefile

PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

PKG_FIXUP:=autoreconf is inconsistent with how the rest of this Makefile drives the build. Line 33 passes the terminfo search path as a make variable (MAKE_FLAGS+= TERMINFO_DIRS=...), which only makes sense if upstream ships a hand-written Makefile — an autotools tree would take that as a configure argument. If the 2.1.2 tarball has no configure.ac/Makefile.am, this fixup runs autoreconf on a non-autotools tree and fails before anything compiles.

The same premise decides whether the install paths line up: with PKG_INSTALL:=1 and no --prefix=/usr configure step, a plain upstream Makefile installs into $(PKG_INSTALL_DIR)/usr/local/..., while lines 38-41 and 46 copy from $(PKG_INSTALL_DIR)/usr/... — the header, unibilium.pc and both library variants would then be missing. In that case MAKE_FLAGS also needs PREFIX=/usr (or matching libdir/includedir).

Posting this as a question rather than an assertion: I could not fetch the upstream tarball from this session to confirm which case applies, and no build job has run on this head (only the three FormalityCheck runs). Which build system does unibilium 2.1.2 actually use? Both points were raised on an earlier push and are still unresolved — GitHub just hides those threads as outdated after the rebase.


Generated by Claude Code

Comment thread libs/unibilium/Makefile

define Package/libunibilium/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libunibilium.so* $(1)/usr/lib

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The package ships the versioned libunibilium.so.* files but sets no ABI_VERSION, which defaults to empty in include/package-defaults.mk — so no ABI suffix is recorded for libunibilium. When a later PKG_VERSION bump changes the SONAME, packages already installed against the old libunibilium.so.N still resolve the dependency and break at runtime instead of being pulled in for a rebuild.

In-tree libraries that ship a versioned SONAME declare it inside the Package/... block, e.g. libs/lzo/Makefile:32 and libs/libnatpmp/Makefile:44. Adding ABI_VERSION:=<soname major of libunibilium.so> to define Package/libunibilium (lines 21-26) would cover it — no suggestion block since I could not fetch the tarball to read the actual major.


Generated by Claude Code

Unibilium is a very basic terminfo library. It can read and write sdfkj
ncurses-style terminfo files, and it can interpret terminfo format strings.

Signed-off-by: Valeriy Kosikhin <vkosikhin@gmail.com>

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Commit checks

  • f0a61fb "unibilium: add new package" — body still contains the stray token sdfkj ("It can read and write sdfkj ncurses-style ..."); drop it so the text matches the Makefile description.

Generated by Claude Code

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants