diff --git a/sysutils/toybox/Makefile b/sysutils/toybox/Makefile index cac859edb6da..15384e092bf3 100644 --- a/sysutils/toybox/Makefile +++ b/sysutils/toybox/Makefile @@ -1,71 +1,70 @@ PORTNAME= toybox -PORTVERSION= 0.8.6 +PORTVERSION= 0.8.8 CATEGORIES= sysutils MASTER_SITES= http://landley.net/toybox/downloads/ MAINTAINER= vidar@karlsen.tech COMMENT= All-in-one command line LICENSE= 0BSD LICENSE_NAME= BSD Zero Clause License LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BUILD_DEPENDS= bash:shells/bash gsed:textproc/gsed LIB_DEPENDS= libinotify.so:devel/libinotify USES= gmake shebangfix SHEBANG_FILES= scripts/bloatcheck scripts/mcm-buildall.sh \ scripts/change.sh scripts/findglobals.sh \ scripts/genconfig.sh scripts/install.sh \ scripts/make.sh scripts/mkroot.sh \ scripts/portability.sh scripts/record-commands \ scripts/runtest.sh scripts/single.sh \ scripts/test.sh configure \ tests/* BIN_LINKS= [ cat chgrp chmod chown cksum cpio crc32 date dos2unix echo \ egrep false fgrep fsync grep help hostname kill ln ls mkdir \ mknod mktemp mountpoint nice pidof printenv pwd rm rmdir sed \ sleep sync touch true uname unix2dos usleep vmstat SBIN_LINKS= killall5 lsmod mkswap modinfo sysctl -USRBIN_LINKS= acpi ascii base64 basename bunzip2 bzcat cal catv chrt chvt \ +USRBIN_LINKS= acpi ascii base64 basename bunzip2 bzcat cal chrt chvt \ clear cmp comm count cut dirname du expand factor fallocate \ file find flock fmt groups head hexedit iconv id killall link \ logger logname lspci lsusb makedevs mkfifo mkpasswd nl nohup \ od paste patch pmap printf pwdx readlink realpath renice \ reset rev seq setsid shred sort split strings tac tee test \ time timeout truncate tty uniq unlink uudecode uuencode \ uuidgen w watch wc which who whoami xargs xxd yes USRSBIN_LINKS= chroot - post-patch: ${REINPLACE_CMD} -e 's||"${LOCALBASE}/include/sys/inotify.h"|' \ ${WRKSRC}/lib/portability.c ${REINPLACE_CMD} -e 's|sed|gsed|' ${WRKSRC}/scripts/single.sh do-configure: cd ${WRKSRC} && HOSTCC=${CC} ${GMAKE} bsd_defconfig do-install: ${INSTALL_PROGRAM} ${WRKSRC}/toybox ${STAGEDIR}${PREFIX}/bin ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/sbin ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/usr/bin ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/usr/sbin .for f in ${BIN_LINKS} ${LN} -s ../../bin/toybox ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/${f} .endfor .for f in ${SBIN_LINKS} ${LN} -s ../../bin/toybox ${STAGEDIR}${PREFIX}/${PORTNAME}/sbin/${f} .endfor .for f in ${USRBIN_LINKS} ${LN} -s ../../../bin/toybox ${STAGEDIR}${PREFIX}/${PORTNAME}/usr/bin/${f} .endfor .for f in ${USRSBIN_LINKS} ${LN} -s ../../../bin/toybox ${STAGEDIR}${PREFIX}/${PORTNAME}/usr/sbin/${f} .endfor .include diff --git a/sysutils/toybox/distinfo b/sysutils/toybox/distinfo index 449cae46b0eb..6e4e4d471205 100644 --- a/sysutils/toybox/distinfo +++ b/sysutils/toybox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1643028839 -SHA256 (toybox-0.8.6.tar.gz) = 4298c90a2b238348e4fdc9f89eb4988356c80da3f0cf78c279d2e82b9119034b -SIZE (toybox-0.8.6.tar.gz) = 3458765 +TIMESTAMP = 1660384956 +SHA256 (toybox-0.8.8.tar.gz) = dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58 +SIZE (toybox-0.8.8.tar.gz) = 3492750 diff --git a/sysutils/toybox/files/patch-lib_portability.c b/sysutils/toybox/files/patch-lib_portability.c index 1dcb6f461c7c..226e8fe0212a 100644 --- a/sysutils/toybox/files/patch-lib_portability.c +++ b/sysutils/toybox/files/patch-lib_portability.c @@ -1,84 +1,20 @@ ---- lib/portability.c.orig 2021-12-02 04:45:52 UTC +--- lib/portability.c.orig 2022-08-13 14:55:14 UTC +++ lib/portability.c -@@ -6,6 +6,10 @@ - - #include "toys.h" - -+#if defined(__FreeBSD__) -+#include -+#endif -+ - // We can't fork() on nommu systems, and vfork() requires an exec() or exit() - // before resuming the parent (because they share a heap until then). And no, - // we can't implement our own clone() call that does the equivalent of fork() -@@ -332,7 +336,7 @@ ssize_t xattr_fset(int fd, const char* name, - return fsetxattr(fd, name, value, size, 0, flags); - } - --#elif !defined(__OpenBSD__) -+#elif defined(__FreeBSD__) || defined(__OpenBSD__) - - ssize_t xattr_get(const char *path, const char *name, void *value, size_t size) - { -@@ -537,6 +541,8 @@ int dev_minor(int dev) - return dev&0xffffff; - #elif defined(__OpenBSD__) - return minor(dev); -+#elif defined(__FreeBSD__) -+ return minor(dev); - #else - #error - #endif -@@ -550,6 +556,8 @@ int dev_major(int dev) - return (dev>>24)&0xff; - #elif defined(__OpenBSD__) - return major(dev); -+#elif defined(__FreeBSD__) -+ return major(dev); - #else - #error - #endif -@@ -563,6 +571,8 @@ int dev_makedev(int major, int minor) - return (minor&0xffffff)|((major&0xff)<<24); - #elif defined(__OpenBSD__) - return makedev(major, minor); -+#elif defined(__FreeBSD__) -+ return makedev(major, minor); - #else - #error - #endif -@@ -623,6 +633,17 @@ int get_block_device_size(int fd, unsigned long long* +@@ -625,6 +625,17 @@ int get_block_device_size(int fd, unsigned long long* *size = lab.d_secsize * lab.d_nsectors; return status; } +#elif defined(__FreeBSD__) +#include +int get_block_device_size(int fd, unsigned long long* size) +{ + off_t sz = 0; + if (ioctl(fd, DIOCGMEDIASIZE, &sz) >= 0) { + *size = sz; + return 1; + } + return 0; +} #endif - // TODO copy_file_range -@@ -690,7 +711,7 @@ int timer_create_wrap(clockid_t c, struct sigevent *se - }; - int timer; - -- if (syscall(SYS_timer_create, c, &kk, &timer)<0) return -1; -+ if (syscall(SYS_ktimer_create, c, &kk, &timer)<0) return -1; - *t = (timer_t)(long)timer; - - return 0; -@@ -699,6 +720,6 @@ int timer_create_wrap(clockid_t c, struct sigevent *se - int timer_settime_wrap(timer_t t, int flags, struct itimerspec *val, - struct itimerspec *old) - { -- return syscall(SYS_timer_settime, t, flags, val, old); -+ return syscall(SYS_ktimer_settime, t, flags, val, old); - } - #endif + // Return bytes copied from in to out. If bytes <0 copy all of in to out. diff --git a/sysutils/toybox/files/patch-lib_portability.h b/sysutils/toybox/files/patch-lib_portability.h deleted file mode 100644 index 9a21fed6ffe0..000000000000 --- a/sysutils/toybox/files/patch-lib_portability.h +++ /dev/null @@ -1,20 +0,0 @@ ---- lib/portability.h.orig 2021-12-02 04:45:52 UTC -+++ lib/portability.h -@@ -229,7 +229,7 @@ int posix_fallocate(int, off_t, off_t); - #include - #endif - --#if defined(__APPLE__) || defined(__OpenBSD__) -+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) - static inline long statfs_bsize(struct statfs *sf) { return sf->f_iosize; } - static inline long statfs_frsize(struct statfs *sf) { return sf->f_bsize; } - #else -@@ -394,7 +394,7 @@ struct itimerspec { - int timer_create(clock_t c, struct sigevent *se, timer_t *t); - int timer_settime(timer_t t, int flags, struct itimerspec *new, void *old); - #elif !CFG_TOYBOX_HASTIMERS --#include -+#include - #include - #include - int timer_create_wrap(clockid_t c, struct sigevent *se, timer_t *t); diff --git a/sysutils/toybox/files/patch-toys_other_chvt.c b/sysutils/toybox/files/patch-toys_other_chvt.c deleted file mode 100644 index 01d0824ae173..000000000000 --- a/sysutils/toybox/files/patch-toys_other_chvt.c +++ /dev/null @@ -1,25 +0,0 @@ ---- toys/other/chvt.c.orig 2021-12-02 04:45:52 UTC -+++ toys/other/chvt.c -@@ -18,16 +18,17 @@ config CHVT - */ - - #include "toys.h" --#include - - void chvt_main(void) - { -- int vt, fd; -+ int vtnum, fd = fd; - char *consoles[]={"/dev/console", "/dev/vc/0", "/dev/tty", NULL}, **cc; - -- vt = atoi(*toys.optargs); -- for (cc = consoles; *cc; cc++) if ((fd = open(*cc, O_RDWR)) != -1) break; -+ vtnum=atoi(*toys.optargs); -+ for (cc = consoles; *cc; cc++) -+ if (-1 != (fd = open(*cc, O_RDWR))) break; - -- if (fd == -1 || ioctl(fd, VT_ACTIVATE, vt) || ioctl(fd, VT_WAITACTIVE, vt)) -+ // These numbers are VT_ACTIVATE and VT_WAITACTIVE from linux/vt.h -+ if (!*cc || fd < 0 || ioctl(fd, 0x5606, vtnum) || ioctl(fd, 0x5607, vtnum)) - perror_exit(0); - } diff --git a/sysutils/toybox/files/patch-toys_other_openvt.c b/sysutils/toybox/files/patch-toys_other_openvt.c new file mode 100644 index 000000000000..01fe211eeb79 --- /dev/null +++ b/sysutils/toybox/files/patch-toys_other_openvt.c @@ -0,0 +1,48 @@ +--- toys/other/openvt.c.orig 2022-08-12 07:58:03 UTC ++++ toys/other/openvt.c +@@ -44,8 +44,8 @@ config DEALLOCVT + + #define FOR_openvt + #include "toys.h" +-#include +-#include ++#include ++#include + + GLOBALS( + long c; +@@ -72,12 +72,17 @@ static int activate(int fd, int cc) + + void openvt_main(void) + { ++ struct vt_stat { ++ unsigned short v_active; ++ unsigned short v_signal; ++ unsigned short v_state; ++ }; + struct vt_stat vstate; + int fd, cc = (int)TT.c; + pid_t pid; + + // find current console +- if (-1 == (ioctl(fd = open_console(), VT_GETSTATE, &vstate)) || ++ if (-1 == (ioctl(fd = open_console(), VT_GETACTIVE, &vstate)) || + (!cc && 0>=(cc = xioctl(fd, VT_OPENQRY, &fd)))) + perror_exit("can't find open VT"); + +@@ -95,7 +100,7 @@ void openvt_main(void) + while (-1 == waitpid(pid, NULL, 0) && errno == EINTR) errno = 0; + if (FLAG(s)) { + activate(fd, vstate.v_active); +- dprintf(2, "%d\n", ioctl(fd, VT_DISALLOCATE, cc)); ++ dprintf(2, "%d\n", ioctl(fd, VT_ACTIVATE, cc)); + } + } + } +@@ -111,5 +116,5 @@ void deallocvt_main(void) + int fd = open_console(), vt_num = 0; // 0 = all + + if (*toys.optargs) vt_num = atolx_range(*toys.optargs, 1, 63); +- if (-1 == ioctl(fd, VT_DISALLOCATE, vt_num)) perror_exit("%d", vt_num); ++ if (-1 == ioctl(fd, VT_ACTIVATE, vt_num)) perror_exit("%d", vt_num); + } diff --git a/sysutils/toybox/pkg-plist b/sysutils/toybox/pkg-plist index 5e5e403ae910..b8a10ee478e8 100644 --- a/sysutils/toybox/pkg-plist +++ b/sysutils/toybox/pkg-plist @@ -1,125 +1,124 @@ bin/toybox toybox/bin/[ toybox/bin/cat toybox/bin/chgrp toybox/bin/chmod toybox/bin/chown toybox/bin/cksum toybox/bin/cpio toybox/bin/crc32 toybox/bin/date toybox/bin/dos2unix toybox/bin/echo toybox/bin/egrep toybox/bin/false toybox/bin/fgrep toybox/bin/fsync toybox/bin/grep toybox/bin/help toybox/bin/hostname toybox/bin/kill toybox/bin/ln toybox/bin/ls toybox/bin/mkdir toybox/bin/mknod toybox/bin/mktemp toybox/bin/mountpoint toybox/bin/nice toybox/bin/pidof toybox/bin/printenv toybox/bin/pwd toybox/bin/rm toybox/bin/rmdir toybox/bin/sed toybox/bin/sleep toybox/bin/sync toybox/bin/touch toybox/bin/true toybox/bin/uname toybox/bin/unix2dos toybox/bin/usleep toybox/bin/vmstat toybox/sbin/killall5 toybox/sbin/lsmod toybox/sbin/mkswap toybox/sbin/modinfo toybox/sbin/sysctl toybox/usr/bin/acpi toybox/usr/bin/ascii toybox/usr/bin/base64 toybox/usr/bin/basename toybox/usr/bin/bunzip2 toybox/usr/bin/bzcat toybox/usr/bin/cal -toybox/usr/bin/catv toybox/usr/bin/chrt toybox/usr/bin/chvt toybox/usr/bin/clear toybox/usr/bin/cmp toybox/usr/bin/comm toybox/usr/bin/count toybox/usr/bin/cut toybox/usr/bin/dirname toybox/usr/bin/du toybox/usr/bin/expand toybox/usr/bin/factor toybox/usr/bin/fallocate toybox/usr/bin/file toybox/usr/bin/find toybox/usr/bin/flock toybox/usr/bin/fmt toybox/usr/bin/groups toybox/usr/bin/head toybox/usr/bin/hexedit toybox/usr/bin/iconv toybox/usr/bin/id toybox/usr/bin/killall toybox/usr/bin/link toybox/usr/bin/logger toybox/usr/bin/logname toybox/usr/bin/lspci toybox/usr/bin/lsusb toybox/usr/bin/makedevs toybox/usr/bin/mkfifo toybox/usr/bin/mkpasswd toybox/usr/bin/nl toybox/usr/bin/nohup toybox/usr/bin/od toybox/usr/bin/paste toybox/usr/bin/patch toybox/usr/bin/pmap toybox/usr/bin/printf toybox/usr/bin/pwdx toybox/usr/bin/readlink toybox/usr/bin/realpath toybox/usr/bin/renice toybox/usr/bin/reset toybox/usr/bin/rev toybox/usr/bin/seq toybox/usr/bin/setsid toybox/usr/bin/shred toybox/usr/bin/sort toybox/usr/bin/split toybox/usr/bin/strings toybox/usr/bin/tac toybox/usr/bin/tee toybox/usr/bin/test toybox/usr/bin/time toybox/usr/bin/timeout toybox/usr/bin/truncate toybox/usr/bin/tty toybox/usr/bin/uniq toybox/usr/bin/unlink toybox/usr/bin/uudecode toybox/usr/bin/uuencode toybox/usr/bin/uuidgen toybox/usr/bin/w toybox/usr/bin/watch toybox/usr/bin/wc toybox/usr/bin/which toybox/usr/bin/who toybox/usr/bin/whoami toybox/usr/bin/xargs toybox/usr/bin/xxd toybox/usr/bin/yes toybox/usr/sbin/chroot