svn commit: r544024 - in head/misc: . hxtools hxtools/files
Alexey Dokuchaev
danfe at FreeBSD.org
Mon Aug 3 06:13:18 UTC 2020
Author: danfe
Date: Mon Aug 3 06:13:13 2020
New Revision: 544024
URL: https://svnweb.freebsd.org/changeset/ports/544024
Log:
This is the collection of tools and scripts for different tasks written
by Jan Engelhardt, each of which seems to be too small to warrant their
own project.
WWW: http://inai.de/projects/hxtools/
Added:
head/misc/hxtools/
head/misc/hxtools/Makefile (contents, props changed)
head/misc/hxtools/distinfo (contents, props changed)
head/misc/hxtools/files/
head/misc/hxtools/files/patch-sadmin_hxnetload (contents, props changed)
head/misc/hxtools/files/patch-sadmin_ofl.c (contents, props changed)
head/misc/hxtools/files/patch-sadmin_pmap__dirty (contents, props changed)
head/misc/hxtools/files/patch-sadmin_proc__iomem__count.c (contents, props changed)
head/misc/hxtools/files/patch-sadmin_psthreads.c (contents, props changed)
head/misc/hxtools/files/patch-sadmin_utmp__register.c (contents, props changed)
head/misc/hxtools/files/patch-sadmin_xfs__irecover.c (contents, props changed)
head/misc/hxtools/files/patch-sdevel_cctypeinfo.c (contents, props changed)
head/misc/hxtools/files/patch-sdevel_paddrspacesize (contents, props changed)
head/misc/hxtools/files/patch-smm_hcdplay.c (contents, props changed)
head/misc/hxtools/files/patch-smm_vfalib.hpp (contents, props changed)
head/misc/hxtools/files/patch-smm_vfontas.cpp (contents, props changed)
head/misc/hxtools/files/patch-suser_sysinfo.c (contents, props changed)
head/misc/hxtools/pkg-descr (contents, props changed)
head/misc/hxtools/pkg-plist (contents, props changed)
Modified:
head/misc/Makefile
Modified: head/misc/Makefile
==============================================================================
--- head/misc/Makefile Mon Aug 3 06:06:33 2020 (r544023)
+++ head/misc/Makefile Mon Aug 3 06:13:13 2020 (r544024)
@@ -169,6 +169,7 @@
SUBDIR += histring
SUBDIR += hotkeys
SUBDIR += hulgalugha
+ SUBDIR += hxtools
SUBDIR += ignition-fuel-tools
SUBDIR += iio-oscilloscope
SUBDIR += imerge
Added: head/misc/hxtools/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/Makefile Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,52 @@
+# Created by: Alexey Dokuchaev <danfe at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= hxtools
+DISTVERSION= 20200712
+CATEGORIES= misc
+MASTER_SITES= http://inai.de/files/hxtools/
+
+MAINTAINER= danfe at FreeBSD.org
+COMMENT= Collection of miscellaneous tools and scripts
+
+LIB_DEPENDS= libHX.so:lang/libhx libpci.so:devel/libpci
+RUN_DEPENDS= bash:shells/bash
+
+USES= compiler:c++11-lang iconv perl5 pkgconfig shebangfix \
+ tar:xz xorg
+GNU_CONFIGURE= yes
+SHEBANG_FILES= data/hxtools_bashrc.bash data/hxtools_profile.bash \
+ examples/colortable examples/git-deconstruct examples/neon \
+ examples/rc4 examples/unitable sadmin/hxnetload \
+ sadmin/ldif-duplicate-attrs sadmin/ldif-leading-spaces \
+ sadmin/logontime sadmin/pmap_dirty sadmin/recursive_lower \
+ sadmin/vcsaview sdevel/checkbrack sdevel/cwdiff \
+ sdevel/diff2php sdevel/doxygen-kerneldoc-filter \
+ sdevel/git-author-stat sdevel/git-blame-stats \
+ sdevel/git-forest sdevel/git-revert-stats \
+ sdevel/git-track sdevel/man2html sdevel/paddrspacesize \
+ sdevel/proc_stat_signal_decode sdevel/sourcefuncsize \
+ sdevel/spec-beautifier smm/aumeta smm/extract_d3pkg \
+ smm/extract_dfqshared.pm smm/extract_dxhog \
+ smm/extract_f3pod smm/extract_qupak smm/gpsh smm/mkvappend \
+ smm/mod2opus smm/ssa2srt suser/fxterm suser/mailsplit \
+ suser/pegrep suser/pesubst suser/qpdecode suser/qtar \
+ suser/rezip suser/wktimer
+USE_PERL5= run
+USE_XORG= xcb
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+post-patch:
+ @${REINPLACE_CMD} -E 's,(/usr)?/bin,${LOCALBASE}/bin,g' \
+ ${WRKSRC}/sadmin/su1
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/NEWS.txt ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
Added: head/misc/hxtools/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/distinfo Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1594547101
+SHA256 (hxtools-20200712.tar.xz) = 08bdbd32b54daf39bc44e222e7cc95e1d53dd2892ee075b70f479899567e62d0
+SIZE (hxtools-20200712.tar.xz) = 208032
Added: head/misc/hxtools/files/patch-sadmin_hxnetload
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_hxnetload Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,23 @@
+--- sadmin/hxnetload.orig 2020-07-12 09:44:16 UTC
++++ sadmin/hxnetload
+@@ -28,11 +28,11 @@ else
+ fi;
+
+ while :; do
+- cat /proc/net/dev | grep " $1" | cut -f 2 -d:;
++ cat /compat/linux/proc/net/dev | grep " $1" | cut -f 2 -d:;
+ "$sleeper" $wait;
+ done | perl -pe '$|=1;s/.*://' | while read rxcnt rxpkt c d e f g h txcnt txpkt; do
+ if [ "$all" != "" ]; then
+- now="`cat /proc/uptime | cut -f 1 -d " " | sed s/"\."//g`";
++ now="`cat /compat/linux/proc/uptime | cut -f 1 -d " " | sed s/"\."//g`";
+ [ $[$now-$oldtm] -eq 0 ] && continue;
+ rxbytes=$[($rxcnt-$oldrx)*100/($now-$oldtm)];
+ rxint=$[$rxbytes/1024];
+@@ -48,5 +48,5 @@ done | perl -pe '$|=1;s/.*://' | while read rxcnt rxpk
+ all=$[$rxcnt+$txcnt];
+ oldrx=$rxcnt;
+ oldtx=$txcnt;
+- oldtm="`cat /proc/uptime | cut -f 1 -d " " | sed s/"\."//g`";
++ oldtm="`cat /compat/linux/proc/uptime | cut -f 1 -d " " | sed s/"\."//g`";
+ done;
Added: head/misc/hxtools/files/patch-sadmin_ofl.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_ofl.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,57 @@
+--- sadmin/ofl.c.orig 2020-07-12 09:44:16 UTC
++++ sadmin/ofl.c
+@@ -42,7 +42,7 @@ static const char *ofl_comm(pid_t pid, char *buf, size
+ const char *p;
+ ssize_t ret;
+
+- snprintf(src, sizeof(src), "/proc/%u/exe", (unsigned int)pid);
++ snprintf(src, sizeof(src), "/compat/linux/proc/%u/exe", (unsigned int)pid);
+ ret = readlink(src, dst, sizeof(dst) - 1);
+ if (ret < 0) {
+ *buf = '\0';
+@@ -227,7 +227,7 @@ static bool ofl(const char *mnt, unsigned int signum)
+ char tmp[256];
+ struct HXdir *dir;
+
+- dir = HXdir_open("/proc");
++ dir = HXdir_open("/compat/linux/proc");
+ if (dir == NULL)
+ return false;
+ while ((de = HXdir_read(dir)) != NULL) {
+@@ -236,30 +236,30 @@ static bool ofl(const char *mnt, unsigned int signum)
+ data.pid = strtoul(de, NULL, 0);
+ if (data.pid == 0)
+ continue;
+- snprintf(tmp, sizeof(tmp), "/proc/%s", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s", de);
+ if (lstat(tmp, &data.sb) < 0 || !S_ISDIR(data.sb.st_mode))
+ continue;
+
+ /* Program map */
+- snprintf(tmp, sizeof(tmp), "/proc/%s/maps", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s/maps", de);
+ if (ofl_pmap(mnt, tmp, &data))
+ continue;
+
+ /* Basic links */
+ data.check = true;
+- snprintf(tmp, sizeof(tmp), "/proc/%s/root", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s/root", de);
+ if (ofl_one(mnt, tmp, &data))
+ continue;
+- snprintf(tmp, sizeof(tmp), "/proc/%s/cwd", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s/cwd", de);
+ if (ofl_one(mnt, tmp, &data))
+ continue;
+- snprintf(tmp, sizeof(tmp), "/proc/%s/exe", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s/exe", de);
+ if (ofl_one(mnt, tmp, &data))
+ continue;
+
+ /* All file descriptors */
+ data.check = false;
+- snprintf(tmp, sizeof(tmp), "/proc/%s/task", de);
++ snprintf(tmp, sizeof(tmp), "/compat/linux/proc/%s/task", de);
+ ofl_task(mnt, tmp, &data);
+ }
+
Added: head/misc/hxtools/files/patch-sadmin_pmap__dirty
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_pmap__dirty Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,32 @@
+--- sadmin/pmap_dirty.orig 2020-07-12 09:44:16 UTC
++++ sadmin/pmap_dirty
+@@ -25,9 +25,9 @@ my %total_counter;
+
+ if (scalar(@ARGV) == 0) {
+ @ARGV = sort { $a <=> $b } map {
+- $_ = ($_ =~ m{^/proc/(\d+)$})[0];
++ $_ = ($_ =~ m{^/compat/linux/proc/(\d+)$})[0];
+ (!defined($_) || $_ eq "") ? () : $_
+- } glob("/proc/*");
++ } glob("/compat/linux/proc/*");
+ }
+
+ &print_one();
+@@ -35,7 +35,7 @@ if (scalar(@ARGV) == 0) {
+ foreach my $pid (@ARGV) {
+ my $proc_name;
+ my $fh;
+- open($fh, "< /proc/$pid/smaps");
++ open($fh, "< /compat/linux/proc/$pid/smaps");
+
+ my %counter = (
+ Private_Dirty => 0,
+@@ -50,7 +50,7 @@ foreach my $pid (@ARGV) {
+ }
+
+ close $fh;
+- if (open($fh, "</proc/$pid/stat")) {
++ if (open($fh, "</compat/linux/proc/$pid/stat")) {
+ ($proc_name) = (<$fh> =~ /^.*?\((.*)\)/);
+ close $fh;
+ }
Added: head/misc/hxtools/files/patch-sadmin_proc__iomem__count.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_proc__iomem__count.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,20 @@
+--- sadmin/proc_iomem_count.c.orig 2020-07-12 09:44:16 UTC
++++ sadmin/proc_iomem_count.c
+@@ -17,7 +17,7 @@
+
+ static int main2(int argc, const char **argv)
+ {
+- const char *file = "/proc/iomem";
++ const char *file = "/compat/linux/proc/iomem";
+ uint64_t start, end;
+ hxmc_t *ln = NULL;
+ char *e;
+@@ -28,7 +28,7 @@ static int main2(int argc, const char **argv)
+
+ fp = fopen(file, "r");
+ if (fp == NULL) {
+- fprintf(stderr, "fopen: /proc/iomem: %s\n", strerror(errno));
++ fprintf(stderr, "fopen: /compat/linux/proc/iomem: %s\n", strerror(errno));
+ return EXIT_FAILURE;
+ }
+
Added: head/misc/hxtools/files/patch-sadmin_psthreads.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_psthreads.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,41 @@
+--- sadmin/psthreads.c.orig 2020-07-12 09:44:16 UTC
++++ sadmin/psthreads.c
+@@ -141,15 +141,15 @@ static struct kps_proc_data *kps_proc_read_one(unsigne
+ HXlist_init(&task->process_children);
+ task->cmdlen = 0;
+
+- snprintf(buf, sizeof(buf), "/proc/%u/cmdline", pid);
++ snprintf(buf, sizeof(buf), "/compat/linux/proc/%u/cmdline", pid);
+ if ((fd = open(buf, O_RDONLY)) >= 0)
+ kps_read_cmdline(task, fd);
+
+- snprintf(buf, sizeof(buf), "/proc/%u/status", pid);
++ snprintf(buf, sizeof(buf), "/compat/linux/proc/%u/status", pid);
+ if ((fp = fopen(buf, "r")) != NULL)
+ kps_read_status(task, fp);
+
+- snprintf(buf, sizeof(buf), "/proc/%u/stat", pid);
++ snprintf(buf, sizeof(buf), "/compat/linux/proc/%u/stat", pid);
+ if ((fp = fopen(buf, "r")) != NULL)
+ kps_read_stat(task, fp);
+
+@@ -162,8 +162,8 @@ static void kps_proc_read(struct HXmap *tree)
+ char buf[64];
+ struct HXdir *dproc, *dthr;
+
+- if ((dproc = HXdir_open("/proc")) == NULL) {
+- fprintf(stderr, "Could not open /proc: %s\n", strerror(errno));
++ if ((dproc = HXdir_open("/compat/linux/proc")) == NULL) {
++ fprintf(stderr, "Could not open /compat/linux/proc: %s\n", strerror(errno));
+ return;
+ }
+
+@@ -175,7 +175,7 @@ static void kps_proc_read(struct HXmap *tree)
+ if (end == dentry || *end != '\0')
+ continue;
+
+- snprintf(buf, sizeof(buf), "/proc/%u/task", tgid);
++ snprintf(buf, sizeof(buf), "/compat/linux/proc/%u/task", tgid);
+ if ((dthr = HXdir_open(buf)) == NULL) {
+ fprintf(stderr, "Could not open %s: %s\n", buf, strerror(errno));
+ continue;
Added: head/misc/hxtools/files/patch-sadmin_utmp__register.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_utmp__register.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,50 @@
+--- sadmin/utmp_register.c.orig 2020-07-12 09:44:16 UTC
++++ sadmin/utmp_register.c
+@@ -71,8 +71,10 @@ static bool get_options(int *argc, const char ***argv)
+ .help = "Perform operation on lastlog"},
+ {.sh = 'U', .type = HXTYPE_NONE, .ptr = &Opt.op_utmp,
+ .help = "Perform operation on UTMP"},
++#if 0
+ {.sh = 'W', .type = HXTYPE_NONE, .ptr = &Opt.op_wtmp,
+ .help = "Perform operation on WTMP"},
++#endif
+ {.sh = 'e', .type = HXTYPE_NONE, .ptr = &Opt.epid,
+ .help = "Encode PID into ut_id"},
+ {.sh = 'h', .type = HXTYPE_STRING, .ptr = &Opt.host,
+@@ -87,8 +89,10 @@ static bool get_options(int *argc, const char ***argv)
+ .help = "Unique ID 2", .htyp = "sess"},
+ {.sh = 'u', .type = HXTYPE_STRING, .ptr = &Opt.futmp,
+ .help = "Path to utmp"},
++#if 0
+ {.sh = 'w', .type = HXTYPE_STRING, .ptr = &Opt.fwtmp,
+ .help = "Path to wtmp"},
++#endif
+ HXOPT_AUTOHELP,
+ HXOPT_TABLEEND,
+ };
+@@ -181,8 +185,10 @@ static int main2(int argc, const char **argv)
+ setutxent();
+ pututxline(&entry);
+ }
++#if 0
+ if (Opt.op_wtmp)
+ updwtmpx(Opt.fwtmp, &entry);
++#endif
+ if (Opt.op_lastlog)
+ update_lastlog(Opt.flastlog, &entry);
+ }
+@@ -193,11 +199,13 @@ static int main2(int argc, const char **argv)
+ setutxent();
+ pututxline(&entry);
+ }
++#if 0
+ if (Opt.op_wtmp)
+ updwtmpx(Opt.fwtmp, &entry);
++#endif
+ }
+
+- endutent();
++ endutxent();
+ return EXIT_SUCCESS;
+ }
+
Added: head/misc/hxtools/files/patch-sadmin_xfs__irecover.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sadmin_xfs__irecover.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,11 @@
+--- sadmin/xfs_irecover.c.orig 2020-07-12 09:44:16 UTC
++++ sadmin/xfs_irecover.c
+@@ -42,7 +42,7 @@
+ #include <libHX/proc.h>
+ #include <libHX/string.h>
+ #include <arpa/inet.h>
+-#include <linux/types.h>
++#include <infiniband/types.h>
+
+ struct work_info {
+ char *device;
Added: head/misc/hxtools/files/patch-sdevel_cctypeinfo.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sdevel_cctypeinfo.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,30 @@
+--- sdevel/cctypeinfo.c.orig 2020-07-12 09:44:16 UTC
++++ sdevel/cctypeinfo.c
+@@ -6,6 +6,7 @@
+ * modify it under the terms of the WTF Public License version 2 or
+ * (at your option) any later version.
+ */
++#include <sys/socket.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -61,9 +62,6 @@ p(intptr_t);
+ p(wchar_t);
+ p(size_t);
+ p(off_t);
+-#ifdef HAVE_LOFF_T
+-p(loff_t)
+-#endif
+ p(uint8_t);
+ p(uint16_t);
+ p(uint32_t);
+@@ -98,9 +96,6 @@ int main(void)
+ t(size_t);
+ t(wchar_t);
+ t(off_t);
+-#ifdef HAVE_LOFF_T
+- t(loff_t);
+-#endif
+ t(uint8_t);
+ t(uint16_t);
+ t(uint32_t);
Added: head/misc/hxtools/files/patch-sdevel_paddrspacesize
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-sdevel_paddrspacesize Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,11 @@
+--- sdevel/paddrspacesize.orig 2020-07-12 09:44:16 UTC
++++ sdevel/paddrspacesize
+@@ -18,7 +18,7 @@ foreach my $line (@list) {
+ my($pid, $reset) = ($line =~ /^\s*(\d+)\s+(.*)/);
+ my $bitness = 0;
+
+- if (!open(FH, "</proc/$pid/maps")) {
++ if (!open(FH, "</compat/linux/proc/$pid/maps")) {
+ next;
+ }
+
Added: head/misc/hxtools/files/patch-smm_hcdplay.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-smm_hcdplay.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,115 @@
+--- smm/hcdplay.c.orig 2020-07-12 09:44:16 UTC
++++ smm/hcdplay.c
+@@ -15,16 +15,18 @@
+ #include <unistd.h>
+ #include <libHX/option.h>
+ #include <sys/ioctl.h>
+-#include <linux/cdrom.h>
+-#define DEFAULT_ROM "/dev/sr0"
++#include <sys/cdio.h>
++#define DEFAULT_ROM "/dev/cd0"
+
+ static char *cdev;
+ static unsigned int dump_toc, do_start, do_pause, do_resume;
+-static unsigned int do_play, do_stop, do_eject;
++static unsigned int do_play, do_stop, do_eject, do_close;
+
+ static bool cdp_get_options(int *argc, const char ***argv)
+ {
+ static const struct HXoption option_table[] = {
++ {.sh = 'C', .ln = "close", .type = HXTYPE_NONE, .ptr = &do_close,
++ .help = "Close the CD-ROM"},
+ {.sh = 'D', .ln = "device", .type = HXTYPE_STRING, .ptr = &cdev,
+ .help = "CD-ROM device path", .htyp = "FILE"},
+ {.sh = 'E', .ln = "eject", .type = HXTYPE_NONE, .ptr = &do_eject,
+@@ -56,7 +58,7 @@ static bool cdp_get_options(int *argc, const char ***a
+
+ int main(int argc, const char **argv)
+ {
+- struct cdrom_tochdr toc;
++ struct ioc_toc_header toc;
+ int fd;
+
+ if (!cdp_get_options(&argc, &argv))
+@@ -69,38 +71,57 @@ int main(int argc, const char **argv)
+ return EXIT_FAILURE;
+ }
+
+- if (ioctl(fd, CDROMREADTOCHDR, &toc) < 0) {
+- perror("ioctl CDROMREADTOCHDR");
++ /*
++ * Ejecting and closing the CD-ROM tray does not require reading
++ * of the TOC header first (at least on FreeBSD).
++ */
++ if (do_eject) {
++ (void)ioctl(fd, CDIOCALLOW);
++ if (ioctl(fd, CDIOCEJECT) < 0)
++ perror("ioctl CDIOCEJECT");
++ /*
++ * It is pointless to do anything after CD-ROM had been
++ * ejected, so exit early.
++ */
++ goto done;
++ }
++ if (do_close) {
++ (void)ioctl(fd, CDIOCALLOW);
++ if (ioctl(fd, CDIOCCLOSE) < 0)
++ perror("ioctl CDIOCCLOSE");
++ }
++ if (ioctl(fd, CDIOREADTOCHEADER, &toc) < 0) {
++ perror("ioctl CDIOREADTOCHEADER");
+ return EXIT_FAILURE;
+ }
+ if (dump_toc)
+- printf("Tracks: %u-%u\n", toc.cdth_trk0, toc.cdth_trk1);
++ printf("Tracks: %u-%u\n", toc.starting_track, toc.ending_track);
+ if (do_start)
+- if (ioctl(fd, CDROMSTART) < 0)
+- perror("ioctl CDROMSTART");
++ if (ioctl(fd, CDIOCSTART) < 0)
++ perror("ioctl CDIOCSTART");
+ if (do_pause)
+- if (ioctl(fd, CDROMPAUSE) < 0)
+- perror("ioctl CDROMPAUSE");
++ if (ioctl(fd, CDIOCPAUSE) < 0)
++ perror("ioctl CDIOCPAUSE");
+ if (do_resume)
+- if (ioctl(fd, CDROMRESUME) < 0)
+- perror("ioctl CDROMRESUME");
++ if (ioctl(fd, CDIOCRESUME) < 0)
++ perror("ioctl CDIOCRESUME");
+ if (do_play) {
+- struct cdrom_ti t;
+- t.cdti_trk0 = (argc >= 2) ? strtoul(argv[1], NULL, 0) :
+- toc.cdth_trk0;
+- t.cdti_trk1 = (argc >= 3) ? strtoul(argv[2], NULL, 0) :
+- toc.cdth_trk1;
+- t.cdti_ind0 = 0;
+- t.cdti_ind1 = 0;
+- if (ioctl(fd, CDROMPLAYTRKIND, &t) < 0)
+- perror("ioctl CDROMPLAYTRKIND");
++ struct ioc_play_track t;
++ t.start_track = (argc >= 2) ? strtoul(argv[1], NULL, 0) :
++ toc.starting_track;
++ t.end_track = (argc >= 3) ? strtoul(argv[2], NULL, 0) :
++ toc.ending_track;
++ t.start_index = 1;
++ t.end_index = 1;
++ if (ioctl(fd, CDIOCPLAYTRACKS, &t) < 0)
++ perror("ioctl CDIOCPLAYTRACKS");
+ }
+- if (do_stop)
+- if (ioctl(fd, CDROMSTOP) < 0)
+- perror("ioctl CDROMSTOP");
+- if (do_eject)
+- if (ioctl(fd, CDROMEJECT) < 0)
+- perror("ioctl CDROMEJECT");
++ if (do_stop) {
++ if (ioctl(fd, CDIOCSTOP) < 0)
++ perror("ioctl CDIOCSTOP");
++ (void)ioctl(fd, CDIOCALLOW);
++ }
++ done:
+ close(fd);
+ return EXIT_SUCCESS;
+ }
Added: head/misc/hxtools/files/patch-smm_vfalib.hpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-smm_vfalib.hpp Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,11 @@
+--- smm/vfalib.hpp.orig 2020-07-12 09:44:16 UTC
++++ smm/vfalib.hpp
+@@ -9,7 +9,7 @@
+ #include <vector>
+ #include <cstdint>
+ #include <cstdio>
+-#include <endian.h>
++#include <sys/endian.h>
+ #if (defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN) || \
+ (defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN)
+ /* We need to use constexpr functions, and htole16 unfortunately is not. */
Added: head/misc/hxtools/files/patch-smm_vfontas.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-smm_vfontas.cpp Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,10 @@
+--- smm/vfontas.cpp.orig 2020-07-12 09:44:16 UTC
++++ smm/vfontas.cpp
+@@ -15,6 +15,7 @@
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
++#include <errno.h>
+ #include <fcntl.h>
+ #include <getopt.h>
+ #include <unistd.h>
Added: head/misc/hxtools/files/patch-suser_sysinfo.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/files/patch-suser_sysinfo.c Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,42 @@
+--- suser/sysinfo.c.orig 2020-07-12 09:44:16 UTC
++++ suser/sysinfo.c
+@@ -48,9 +48,9 @@ struct sy_block {
+ unsigned int display_width, display_height;
+ };
+
+-static const char *sy_osrelease_file = "/etc/os-release";
+-static const char *sy_cpuinfo_file = "/proc/cpuinfo";
+-static const char sysfs_cpu_dir[] = "/sys/devices/system/cpu";
++static const char *sy_osrelease_file = "/var/run/os-release";
++static const char *sy_cpuinfo_file = "/compat/linux/proc/cpuinfo";
++static const char sysfs_cpu_dir[] = "/compat/linux/sys/devices/system/cpu";
+ static unsigned int sy_verbose;
+
+ static void sy_num_cpu_threads(struct sy_block *sib)
+@@ -190,7 +190,7 @@ static void sy_loadavg(struct sy_block *sib)
+ {
+ double avg5, avg15;
+ unsigned int run;
+- FILE *fp = fopen("/proc/loadavg", "r");
++ FILE *fp = fopen("/compat/linux/proc/loadavg", "r");
+
+ if (fp == NULL)
+ return;
+@@ -202,7 +202,7 @@ static void sy_loadavg(struct sy_block *sib)
+ static void sy_memory(struct sy_block *sib)
+ {
+ unsigned long long mem_free = 0, mem_buf = 0, mem_cac = 0, mem_shm = 0;
+- FILE *fp = fopen("/proc/meminfo", "r");
++ FILE *fp = fopen("/compat/linux/proc/meminfo", "r");
+ hxmc_t *line = NULL;
+ char *key, *value;
+
+@@ -448,6 +448,7 @@ int main(int argc, const char **argv)
+ sy_gfx_hardware(&sib);
+ sy_display_size(&sib);
+ sy_dump(&sib);
+- HXmap_free(sib.osrel);
++ if (sib.osrel)
++ HXmap_free(sib.osrel);
+ return EXIT_SUCCESS;
+ }
Added: head/misc/hxtools/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/pkg-descr Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,8 @@
+This is the collection of tools and scripts for different tasks written
+by Jan Engelhardt, each of which seems to be too small to warrant their
+own project.
+
+Some of these utilities need linprocfs(5) and linsysfs(5) to be mounted
+under /compat/linux/{proc,sys} to operate.
+
+WWW: http://inai.de/projects/hxtools/
Added: head/misc/hxtools/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/misc/hxtools/pkg-plist Mon Aug 3 06:13:13 2020 (r544024)
@@ -0,0 +1,136 @@
+bin/aumeta
+bin/bin2c
+bin/bsvplay
+bin/checkbrack
+bin/cwdiff
+bin/declone
+bin/extract_d3pkg
+bin/extract_dfqshared.pm
+bin/extract_dxhog
+bin/extract_f3pod
+bin/extract_qupak
+bin/fxterm
+bin/git-author-stat
+bin/git-blame-stats
+bin/git-forest
+bin/git-revert-stats
+bin/git-track
+bin/gpsh
+bin/gxxdm
+bin/hcdplay
+bin/man2html
+bin/mkvappend
+bin/mod2opus
+bin/ofl
+bin/pcmdiff
+bin/pcmmix
+bin/pegrep
+bin/pesubst
+bin/pmap_dirty
+bin/proc_iomem_count
+bin/proc_stat_parse
+bin/qpdecode
+bin/qplay
+bin/qtar
+bin/rot13
+bin/spec-beautifier
+bin/ssa2srt
+bin/su1
+bin/sysinfo
+bin/tailhex
+bin/vfontas
+bin/wktimer
+bin/xcp
+etc/hxloginpref.conf
+libexec/hxtools/cctypeinfo
+libexec/hxtools/clock_info
+libexec/hxtools/diff2php
+libexec/hxtools/doxygen-kerneldoc-filter
+libexec/hxtools/fd0ssh
+libexec/hxtools/hxnetload
+libexec/hxtools/ldif-duplicate-attrs
+libexec/hxtools/ldif-leading-spaces
+libexec/hxtools/logontime
+libexec/hxtools/mailsplit
+libexec/hxtools/paddrspacesize
+libexec/hxtools/peicon
+libexec/hxtools/proc_stat_signal_decode
+libexec/hxtools/psthreads
+libexec/hxtools/recursive_lower
+libexec/hxtools/rezip
+libexec/hxtools/sourcefuncsize
+libexec/hxtools/utmp_register
+libexec/hxtools/vcsaview
+man/man1/aumeta.1.gz
+man/man1/bin2c.1.gz
+man/man1/bsvplay.1.gz
+man/man1/cctypeinfo.1.gz
+man/man1/checkbrack.1.gz
+man/man1/clock_info.1.gz
+man/man1/cwdiff.1.gz
+man/man1/declone.1.gz
+man/man1/diff2php.1.gz
+man/man1/extract_d3pkg.1.gz
+man/man1/extract_dxhog.1.gz
+man/man1/extract_f3pod.1.gz
+man/man1/extract_qupak.1.gz
+man/man1/fd0ssh.1.gz
+man/man1/fxterm.1.gz
+man/man1/git-author-stat.1.gz
+man/man1/git-forest.1.gz
+man/man1/git-revert-stats.1.gz
+man/man1/git-track.1.gz
+man/man1/hcdplay.1.gz
+man/man1/ldif-duplicate-attrs.1.gz
+man/man1/mailsplit.1.gz
+man/man1/man2html.1.gz
+man/man1/mod2opus.1.gz
+man/man1/ofl.1.gz
+man/man1/pcmdiff.1.gz
+man/man1/pcmmix.1.gz
+man/man1/pegrep.1.gz
+man/man1/peicon.1.gz
+man/man1/pesubst.1.gz
+man/man1/psthreads.1.gz
+man/man1/qplay.1.gz
+man/man1/qtar.1.gz
+man/man1/recursive_lower.1.gz
+man/man1/rezip.1.gz
+man/man1/rot13.1.gz
+man/man1/sourcefuncsize.1.gz
+man/man1/spec-beautifier.1.gz
+man/man1/ssa2srt.1.gz
+man/man1/sysinfo.1.gz
+man/man1/tailhex.1.gz
+man/man1/vfontas.1.gz
+man/man1/wktimer.1.gz
+man/man1/xcp.1.gz
+man/man7/hxtools.7.gz
+man/man8/hxnetload.8.gz
+man/man8/logontime.8.gz
+man/man8/utmp_register.8.gz
+man/man8/vcsaview.8.gz
+man/man8/xfs_irecover.8.gz
+%%PORTDOCS%%%%DOCSDIR%%/NEWS.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/colortable
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/git-deconstruct
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/neon
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/prime.S
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/prime.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/rc4
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sym_word.S
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/unitable
+%%DATADIR%%/gitconfig
+%%DATADIR%%/hxloginpref.conf
+%%DATADIR%%/hxtools_bashrc.bash
+%%DATADIR%%/hxtools_dircolors
+%%DATADIR%%/hxtools_profile.bash
+%%DATADIR%%/rfc2307bis-utf8.schema
+share/kbd/consolefonts/A1.fnt
+share/kbd/consolefonts/B1.fnt
+share/kbd/consolefonts/E1.fnt
+share/kbd/consolefonts/neuropol.fnt
+share/kbd/keymaps/i386/qwerty/us_jng.map
+share/kbd/keymaps/i386/qwerty/us_jng_vaiou3.map
+share/kbd/keymaps/i386/qwertz/de_jng.map
+share/kbd/unimaps/cp437AB.uni
More information about the svn-ports-head
mailing list