Files
chromebrew/packages/inetutils.rb
chromebrew-actions[bot] 39cbcb034a Add unbuilt inetutils to updater-inetutils-2.6 — inetutils → 2.6 (#12763)
* Add unbuilt inetutils to updater-inetutils-2.6

* Use git source.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust bootstrap.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust build

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Handle conflict with uutils_coreutils.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* updater-inetutils-2.6: Build Run on linux/amd64.

* updater-inetutils-2.6: Package File Update Run on linux/arm/v7 container.

* add i686 binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Suggested changes.

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: satmandu <satmandu@users.noreply.github.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
2025-09-13 18:48:16 +00:00

76 lines
3.3 KiB
Ruby

require 'buildsystems/autotools'
class Inetutils < Autotools
description 'The Inetutils package contains programs for basic networking. Such as dnsdomainname, ftp, hostname, ifconfig, ping, ping6, talk, telnet, tftp, traceroute'
homepage 'https://www.gnu.org/software/inetutils/'
version '2.6'
license 'GPL-3'
compatibility 'all'
source_url 'https://git.savannah.gnu.org/git/inetutils.git'
git_hashtag "v#{version}"
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'c326018755ce8ecc004d4edc2a9fc7045b68b32934208e8ab6fbfa6298fe0672',
armv7l: 'c326018755ce8ecc004d4edc2a9fc7045b68b32934208e8ab6fbfa6298fe0672',
i686: '383ee756feeebac0c6d0cbb58b2d1023c09708da76e6e7e9045f0aef8bbbd1d7',
x86_64: '73cb5f01b5ff1cb5d7035f47a74acef04bec7a56c6ea899ae87ac016d7ce35a5'
})
depends_on 'e2fsprogs' # R
depends_on 'glibc' # R
depends_on 'krb5' # R
depends_on 'libxcrypt' # R
depends_on 'ncurses' # R
depends_on 'readline' # R
autotools_pre_configure_options "CFLAGS='-Wno-incompatible-pointer-types -Wno-implicit-function-declaration -Wno-unused-result -fno-strict-aliasing' CC='gcc -lncursesw -lpthread -ltinfow' CXX='g++ -lncursesw -lpthread -ltinfow'"
autotools_configure_options "--with-ncurses-include-dir=#{CREW_PREFIX}/include/ncursesw \
--with-krb5=#{CREW_PREFIX} \
--disable-rpath \
--with-wrap \
--with-pam \
--disable-rexec \
--disable-rsh \
--enable-encryption \
--enable-authentication \
--disable-servers \
--disable-logger"
def patch
system './bootstrap.sh'
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
# Handle conflict with the uutils_coreutils hostname.
FileUtils.mv "#{CREW_DEST_PREFIX}/bin/hostname", "#{CREW_DEST_PREFIX}/bin/inetutils_hostname"
FileUtils.mv "#{CREW_DEST_MAN_PREFIX}/man1/hostname.1", "#{CREW_DEST_MAN_PREFIX}/man1/inetutils_hostname.1"
FileUtils.install "#{CREW_DEST_PREFIX}/bin/ping", "#{CREW_DEST_PREFIX}/bin/ping.elf", mode: 0o755
FileUtils.install "#{CREW_DEST_PREFIX}/bin/ping6", "#{CREW_DEST_PREFIX}/bin/ping6.elf", mode: 0o755
FileUtils.install "#{CREW_DEST_PREFIX}/bin/traceroute", "#{CREW_DEST_PREFIX}/bin/traceroute.elf", mode: 0o755
@PING_SH = <<~PING_HEREDOC
#!/bin/bash
sudo -E #{CREW_PREFIX}/sbin/capsh --caps='cap_net_raw+eip cap_setpcap,cap_setuid,cap_setgid+ep' \\
--keep=1 --user=nobody --addamb=cap_net_raw -- \\
-c "#{CREW_PREFIX}/bin/ping.elf $@"
PING_HEREDOC
File.write("#{CREW_DEST_PREFIX}/bin/ping", @PING_SH, perm: 0o755)
@PING6_SH = <<~PING6_HEREDOC
#!/bin/bash
sudo -E #{CREW_PREFIX}/sbin/capsh --caps='cap_net_raw+eip cap_setpcap,cap_setuid,cap_setgid+ep' \\
--keep=1 --user=nobody --addamb=cap_net_raw -- \\
-c "#{CREW_PREFIX}/bin/ping6.elf $@"
PING6_HEREDOC
File.write("#{CREW_DEST_PREFIX}/bin/ping6", @PING6_SH, perm: 0o755)
@TRACEROUTE_SH = <<~TRACEROUTE_HEREDOC
#!/bin/bash
sudo -E #{CREW_PREFIX}/sbin/capsh --caps='cap_net_raw+eip cap_setpcap,cap_setuid,cap_setgid+ep' \\
--keep=1 --user=nobody --addamb=cap_net_raw -- \\
-c "#{CREW_PREFIX}/bin/traceroute.elf $@"
TRACEROUTE_HEREDOC
File.write("#{CREW_DEST_PREFIX}/bin/traceroute", @TRACEROUTE_SH, perm: 0o755)
end
end