# HG changeset patch # User Aleksej Bobylev # Date 1435073943 -10800 # Node ID 7384efde91bfc8fe3c61424bcffb4244d9bc6da5 # Parent a0f100f75fb2dee7dc7cfc466c02abe19e2dbbf1 Remove packages overlapped (and outdated) with Cooking repo. diff -r a0f100f75fb2 -r 7384efde91bf busybox/description.txt --- a/busybox/description.txt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -BusyBox combines tiny versions of many common UNIX utilities into a single -small executable. It provides replacements for most of the utilities you -usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox -generally have fewer options than their full-featured GNU cousins; however, -the options that are included provide the expected functionality and behave -very much like their GNU counterparts. BusyBox provides a fairly complete -environment for any small or embedded system. diff -r a0f100f75fb2 -r 7384efde91bf busybox/receipt --- a/busybox/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,211 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="busybox" -VERSION="1.22.1" -CATEGORY="base-system" -SHORT_DESC="Busybox combines tiny versions of many common UNIX utilities." -MAINTAINER="pascal.bellard@slitaz.org" -LICENSE="GPL2" -TARBALL="$PACKAGE-$VERSION.tar.bz2" -WEB_SITE="http://www.busybox.net/" -WGET_URL="http://www.busybox.net/downloads/$TARBALL" -HOST_ARCH="i486 arm" - -DEPENDS="slitaz-base-files glibc-base ncurses-common" -BUILD_DEPENDS="bzip2 pam pam-dev uclibc-cross-compiler-i486 \ -musl-libc-dev dietlibc" - -CONFIG_FILES="/etc/dnsd.conf /etc/inetd.conf /etc/udhcpd.conf \ -/etc/resolv.conf /etc/httpd.conf" -AUFS_NOT_RAMFS="uclibc-cross-compiler-i486 is not compatible with aufs+tmpfs 8(" - -# Handle cross compilation -case "$ARCH" in - arm*) BUILD_DEPENDS="bzip2" ;; -esac - -# Busybox patches -apply_bb_patchs() -{ - cd $src - while read file; do - [ -f done.$file ] && continue - echo "Apply $file..." - patch -p1 < $stuff/$PACKAGE-${VERSION%.*}-$file || return 1 - touch done.$file - done <> $root/etc/daemons.conf - echo 'DNSD_OPTIONS="-d"' >> $root/etc/daemons.conf - echo '' >> $root/etc/daemons.conf - fi - if ! grep -q ^TFTPD_OPTIONS $root/etc/daemons.conf; then - echo '# Tftp daemon options.' >> $root/etc/daemons.conf - echo 'TFTPD_OPTIONS="-r /boot"' >> $root/etc/daemons.conf - echo '' >> $root/etc/daemons.conf - fi -} - -pre_remove() -{ - # We can not remove this package ! - exit 1 -} diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/applications/httpd.desktop --- a/busybox/stuff/applications/httpd.desktop Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Local Web Server -Name[pt]=Servidor Web local -Name[pt_BR]=Servidor Web local -Name[ru]=Локальный веб-сервер -Exec=browser http://localhost/ -Icon=text-html -Categories=Network; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/applications/vi.desktop --- a/busybox/stuff/applications/vi.desktop Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Vi Text Editor -Name[fr]=Editeur de texte Vi -Name[pt]=Editor de textos Vi -Name[pt_BR]=Editor de textos Vi -Name[ru]=Текстовый редактор Vi -Exec=terminal -e vi -Icon=text-editor -Categories=Development;IDE; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/arm/busybox.config --- a/busybox/stuff/arm/busybox.config Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1041 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.22.1 -# Sat Mar 8 22:06:50 2014 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -CONFIG_DESKTOP=y -CONFIG_EXTRA_COMPAT=y -CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -# CONFIG_INSTALL_NO_USR is not set -CONFIG_LOCALE_SUPPORT=y -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=63 -CONFIG_LAST_SUPPORTED_WCHAR=767 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_PID_FILE_PATH="/run" -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_SYSROOT="" -CONFIG_EXTRA_CFLAGS="" -CONFIG_EXTRA_LDFLAGS="" -CONFIG_EXTRA_LDLIBS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="./_install" - -# -# Busybox Library Tuning -# -# CONFIG_FEATURE_SYSTEMD is not set -# CONFIG_FEATURE_RTMINMAX is not set -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SMALL=1 -CONFIG_SHA3_SMALL=0 -CONFIG_FEATURE_FAST_TOP=y -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -# CONFIG_FEATURE_EDITING_VI is not set -CONFIG_FEATURE_EDITING_HISTORY=255 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y -# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set -# CONFIG_FEATURE_REVERSE_SEARCH is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set -CONFIG_FEATURE_NON_POSIX_CP=y -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_FEATURE_SKIP_ROOTFS=y -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -CONFIG_FEATURE_HWIB=y - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -CONFIG_FEATURE_SEAMLESS_LZMA=y -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set -CONFIG_FEATURE_AR_CREATE=y -CONFIG_UNCOMPRESS=y -CONFIG_GUNZIP=y -CONFIG_BUNZIP2=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -# CONFIG_LZMA is not set -CONFIG_UNXZ=y -# CONFIG_XZ is not set -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -CONFIG_DPKG=y -CONFIG_DPKG_DEB=y -CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y -CONFIG_GZIP_FAST=0 -CONFIG_LZOP=y -# CONFIG_LZOP_COMPR_HIGH is not set -CONFIG_RPM=y -CONFIG_RPM2CPIO=y -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -CONFIG_FEATURE_TAR_TO_COMMAND=y -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y -# CONFIG_FEATURE_TAR_SELINUX is not set -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -CONFIG_FEATURE_DATE_COMPAT=y -CONFIG_HOSTID=y -CONFIG_ID=y -CONFIG_GROUPS=y -CONFIG_TEST=y -# CONFIG_FEATURE_TEST_64 is not set -CONFIG_TOUCH=y -CONFIG_FEATURE_TOUCH_NODEREF=y -CONFIG_FEATURE_TOUCH_SUSV3=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_BASE64=y -CONFIG_WHO=y -CONFIG_USERS=y -CONFIG_CAL=y -# CONFIG_CATV is not set -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_FEATURE_CP_LONG_OPTIONS=y -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -# CONFIG_EXPR_MATH_SUPPORT_64 is not set -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SHA3SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -# CONFIG_FGCONSOLE is not set -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -CONFIG_FEATURE_LOADFONT_PSF2=y -CONFIG_FEATURE_LOADFONT_RAW=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -# CONFIG_RUN_PARTS is not set -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set -# CONFIG_START_STOP_DAEMON is not set -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_AWK=y -# CONFIG_FEATURE_AWK_LIBM is not set -CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y -CONFIG_CMP=y -CONFIG_DIFF=y -CONFIG_FEATURE_DIFF_LONG_OPTIONS=y -CONFIG_FEATURE_DIFF_DIR=y -# CONFIG_ED is not set -CONFIG_PATCH=y -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -# CONFIG_FEATURE_VI_REGEX_SEARCH is not set -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -CONFIG_FEATURE_FIND_DELETE=y -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=0 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -CONFIG_FEATURE_INITRD=y -CONFIG_INIT_TERMINAL_TYPE="" -CONFIG_MESG=y -CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y - -# -# Login/Password Management Utilities -# -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDUSER=y -CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y -# CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_FIRST_SYSTEM_ID=100 -CONFIG_LAST_SYSTEM_ID=999 -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELUSER=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_LOGIN_SESSION_AS_CHILD is not set -# CONFIG_PAM is not set -# CONFIG_LOGIN_SCRIPTS is not set -CONFIG_FEATURE_NOLOGIN=y -CONFIG_FEATURE_SECURETTY=y -CONFIG_PASSWD=y -# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -# CONFIG_FSCK is not set -CONFIG_LSATTR=y -CONFIG_FATATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -CONFIG_DEPMOD=y - -# -# Options common to multiple modutils -# -# CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_BLOCKDEV=y -CONFIG_FBVNC=y -CONFIG_FSTRIM=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_REV=y -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -# CONFIG_BLKID is not set -# CONFIG_FEATURE_BLKID_TYPE is not set -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -# CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_GPT_LABEL=y -# CONFIG_FEATURE_FDISK_ADVANCED is not set -CONFIG_FINDFS=y -CONFIG_FLOCK=y -CONFIG_FREERAMDISK=y -# CONFIG_FSCK_MINIX is not set -# CONFIG_MKFS_EXT2 is not set -# CONFIG_MKFS_MINIX is not set -# CONFIG_FEATURE_MINIX2 is not set -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -# CONFIG_GETOPT is not set -# CONFIG_FEATURE_GETOPT_LONG is not set -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -# CONFIG_HD is not set -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -CONFIG_FEATURE_MOUNT_VERBOSE=y -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -# CONFIG_FEATURE_MTAB_SUPPORT is not set -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_BTRFS=y -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set -CONFIG_FEATURE_VOLUMEID_EXFAT=y -CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_F2FS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -# CONFIG_FEATURE_VOLUMEID_JFS is not set -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_NILFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set -# CONFIG_FEATURE_VOLUMEID_SYSV is not set -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_XFS=y - -# -# Miscellaneous Utilities -# -CONFIG_CONSPY=y -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_ASK_TERMINAL=y -# CONFIG_FEATURE_LESS_DASHCMD is not set -# CONFIG_FEATURE_LESS_LINENUMS is not set -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -CONFIG_RFKILL=y -CONFIG_SETSERIAL=y -CONFIG_UBIATTACH=y -CONFIG_UBIDETACH=y -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set -CONFIG_WALL=y -CONFIG_ADJTIMEX=y -CONFIG_BBCONFIG=y -CONFIG_FEATURE_COMPRESS_BBCONFIG=y -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -# CONFIG_FEATURE_CROND_D is not set -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -# CONFIG_DC is not set -# CONFIG_FEATURE_DC_LIBM is not set -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -# CONFIG_DEVMEM is not set -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -# CONFIG_FLASH_LOCK is not set -# CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -CONFIG_FEATURE_LAST_SMALL=y -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -# CONFIG_MAKEDEVS is not set -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set -# CONFIG_MAN is not set -CONFIG_MICROCOM=y -CONFIG_MOUNTPOINT=y -# CONFIG_MT is not set -CONFIG_RAIDAUTORUN=y -# CONFIG_READAHEAD is not set -# CONFIG_RUNLEVEL is not set -# CONFIG_RX is not set -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -# CONFIG_TTYSIZE is not set -# CONFIG_VOLNAME is not set -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NBDCLIENT=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -CONFIG_NC_110_COMPAT=y -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_WHOIS=y -CONFIG_FEATURE_IPV6=y -# CONFIG_FEATURE_UNIX_LOCAL is not set -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -CONFIG_FEATURE_BRCTL_FANCY=y -CONFIG_FEATURE_BRCTL_SHOW=y -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -CONFIG_HTTPD=y -CONFIG_FEATURE_HTTPD_RANGES=y -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -CONFIG_FEATURE_HTTPD_SETUID=y -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y -CONFIG_FEATURE_HTTPD_AUTH_MD5=y -CONFIG_FEATURE_HTTPD_CGI=y -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y -CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y -CONFIG_FEATURE_HTTPD_PROXY=y -CONFIG_FEATURE_HTTPD_GZIP=y -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -# CONFIG_FEATURE_IFCONFIG_SLIP is not set -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -# CONFIG_IFPLUGD is not set -# CONFIG_IFUPDOWN is not set -CONFIG_IFUPDOWN_IFSTATE_PATH="" -# CONFIG_FEATURE_IFUPDOWN_IP is not set -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set -CONFIG_INETD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y -CONFIG_FEATURE_INETD_RPC=y -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NETSTAT=y -CONFIG_FEATURE_NETSTAT_WIDE=y -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -CONFIG_NTPD=y -CONFIG_FEATURE_NTPD_SERVER=y -CONFIG_PSCAN=y -CONFIG_ROUTE=y -# CONFIG_SLATTACH is not set -# CONFIG_TCPSVD is not set -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -# CONFIG_TELNETD is not set -# CONFIG_FEATURE_TELNETD_STANDALONE is not set -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -CONFIG_TFTPD=y - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTPD_RIS=y -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y -# CONFIG_TFTP_DEBUG is not set -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y -CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y -CONFIG_TUNCTL=y -# CONFIG_FEATURE_TUNCTL_UG is not set -CONFIG_UDHCPC6=y -CONFIG_UDHCPD=y -CONFIG_DHCPRELAY=y -CONFIG_DUMPLEASES=y -CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y -CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC=y -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" -CONFIG_UDHCPC=y -CONFIG_FEATURE_UDHCPC_ARPING=y -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -CONFIG_FEATURE_UDHCP_RFC3397=y -CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -# CONFIG_UDPSVD is not set -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -CONFIG_ZCIP=y - -# -# Print Utilities -# -# CONFIG_LPD is not set -CONFIG_LPR=y -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -# CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -# CONFIG_POPMAILDIR is not set -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set -# CONFIG_REFORMIME is not set -# CONFIG_FEATURE_REFORMIME_COMPAT is not set -CONFIG_SENDMAIL=y - -# -# Process Utilities -# -CONFIG_IOSTAT=y -CONFIG_LSOF=y -CONFIG_MPSTAT=y -CONFIG_NMETER=y -CONFIG_PMAP=y -CONFIG_POWERTOP=y -CONFIG_PSTREE=y -# CONFIG_PWDX is not set -CONFIG_SMEMCAP=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_UPTIME=y -CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -# CONFIG_FEATURE_PS_WIDE is not set -# CONFIG_FEATURE_PS_LONG is not set -CONFIG_FEATURE_PS_TIME=y -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_FEATURE_SHOW_THREADS=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -# CONFIG_SV is not set -CONFIG_SV_DEFAULT_SERVICE_DIR="" -# CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -# CONFIG_ASH_IDLE_TIMEOUT is not set -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -# CONFIG_ASH_MAIL is not set -# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set -CONFIG_ASH_RANDOM_SUPPORT=y -# CONFIG_ASH_EXPAND_PRMT is not set -# CONFIG_CTTYHACK is not set -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_FEATURE_SH_HISTFILESIZE=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -CONFIG_FEATURE_SYSLOGD_DUP=y -CONFIG_FEATURE_SYSLOGD_CFG=y -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=1024 -# CONFIG_FEATURE_IPC_SYSLOG is not set -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 -# CONFIG_LOGREAD is not set -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set -CONFIG_FEATURE_KMSG_SYSLOG=y -CONFIG_KLOGD=y - -# -# klogd should not be used together with syslog to kernel printk buffer -# -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-cmdline.u --- a/busybox/stuff/busybox-1.22-cmdline.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -Display command line in usage output. Useful to debug scripts with variables. ---- busybox-1.21.1/libbb/appletlib.c -+++ busybox-1.21.1/libbb/appletlib.c -@@ -93,9 +93,16 @@ - - #endif /* FEATURE_COMPRESS_USAGE */ - -- -+static char **bb_argv; - void FAST_FUNC bb_show_usage(void) - { -+ full_write2_str("\nCommand line: "); -+ while (*bb_argv) { -+ full_write2_str(*bb_argv++); -+ full_write2_str(" "); -+ } -+ full_write2_str("\n\n"); -+ - if (ENABLE_SHOW_USAGE) { - #ifdef SINGLE_APPLET_STR - /* Imagine that this applet is "true". Dont suck in printf! */ -@@ -612,6 +619,7 @@ - /* If we were called as "busybox..." */ - static int busybox_main(char **argv) - { -+ bb_argv = argv; - if (!argv[1]) { - /* Called without arguments */ - const char *a; -@@ -778,6 +786,7 @@ - int main(int argc UNUSED_PARAM, char **argv) - #endif - { -+ bb_argv = argv; - /* Tweak malloc for reduced memory consumption */ - #ifdef M_TRIM_THRESHOLD - /* M_TRIM_THRESHOLD is the maximum amount of freed top-most memory diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-cpio.u --- a/busybox/stuff/busybox-1.22-cpio.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ ---- busybox-1.22.0/archival/cpio.c -+++ busybox-1.22.0/archival/cpio.c -@@ -225,6 +225,9 @@ - if (!(S_ISLNK(st.st_mode) || S_ISREG(st.st_mode))) - st.st_size = 0; /* paranoia */ - -+ if (S_ISLNK(st.st_mode)) -+ st.st_nlink = 1; /* like GNU cpio */ -+ - /* Store hardlinks for later processing, dont output them */ - if (!S_ISDIR(st.st_mode) && st.st_nlink > 1) { - struct name_s *n; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-diet.u --- a/busybox/stuff/busybox-1.22-diet.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ ---- busybox-1.21.1/include/platform.h -+++ busybox-1.21.1/include/platform.h -@@ -456,6 +456,20 @@ - # undef HAVE_NET_ETHERNET_H - #endif - -+#if defined(__dietlibc__) -+# define __aligned_u64 __u64 __attribute__((aligned(8))) -+# define LOOP_SET_STATUS64 0x4C04 -+# define LOOP_GET_STATUS64 0x4C05 -+# define MAXSYMLINKS 20 -+# define S_TYPEISMQ(x) 0 -+# define S_TYPEISSEM(x) 0 -+# define S_TYPEISSHM(x) 0 -+# undef HAVE_STRVERSCMP -+# undef HAVE_DPRINTF -+# undef HAVE_STRCASESTR -+# define ttyname_r(a,b,c) (strlcpy(b, ttyname(a), c) == 0) -+#endif -+ - /* - * Now, define prototypes for all the functions defined in platform.c - * These must come after all the HAVE_* macros are defined (or not) ---- busybox-1.21.0/networking/ping.c -+++ busybox-1.21.0/networking/ping.c -@@ -29,6 +29,84 @@ - #include - #include "libbb.h" - -+#ifdef __dietlibc__ -+/* Dietlibc is missing the BSD definition 'struct icmp' */ -+/* -+ * Internal of an ICMP Router Advertisement -+ */ -+struct icmp_ra_addr -+{ -+ uint32_t ira_addr; -+ uint32_t ira_preference; -+}; -+ -+struct icmp -+{ -+ uint8_t icmp_type; /* type of message, see below */ -+ uint8_t icmp_code; /* type sub code */ -+ uint16_t icmp_cksum; /* ones complement checksum of struct */ -+ union -+ { -+ uint8_t ih_pptr; /* ICMP_PARAMPROB */ -+ struct in_addr ih_gwaddr; /* gateway address */ -+ struct ih_idseq /* echo datagram */ -+ { -+ uint16_t icd_id; -+ uint16_t icd_seq; -+ } ih_idseq; -+ uint32_t ih_void; -+ -+ /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ -+ struct ih_pmtu -+ { -+ uint16_t ipm_void; -+ uint16_t ipm_nextmtu; -+ } ih_pmtu; -+ -+ struct ih_rtradv -+ { -+ uint8_t irt_num_addrs; -+ uint8_t irt_wpa; -+ uint16_t irt_lifetime; -+ } ih_rtradv; -+ } icmp_hun; -+#define icmp_pptr icmp_hun.ih_pptr -+#define icmp_gwaddr icmp_hun.ih_gwaddr -+#define icmp_id icmp_hun.ih_idseq.icd_id -+#define icmp_seq icmp_hun.ih_idseq.icd_seq -+#define icmp_void icmp_hun.ih_void -+#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void -+#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu -+#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs -+#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa -+#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime -+ union -+ { -+ struct -+ { -+ uint32_t its_otime; -+ uint32_t its_rtime; -+ uint32_t its_ttime; -+ } id_ts; -+ struct -+ { -+ struct ip idi_ip; -+ /* options and then 64 bits of data */ -+ } id_ip; -+ struct icmp_ra_addr id_radv; -+ uint32_t id_mask; -+ uint8_t id_data[1]; -+ } icmp_dun; -+#define icmp_otime icmp_dun.id_ts.its_otime -+#define icmp_rtime icmp_dun.id_ts.its_rtime -+#define icmp_ttime icmp_dun.id_ts.its_ttime -+#define icmp_ip icmp_dun.id_ip.idi_ip -+#define icmp_radv icmp_dun.id_radv -+#define icmp_mask icmp_dun.id_mask -+#define icmp_data icmp_dun.id_data -+}; -+#endif /* __dietlibc__ */ -+ - #ifdef __BIONIC__ - /* should be in netinet/ip_icmp.h */ - # define ICMP_DEST_UNREACH 3 /* Destination Unreachable */ diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-diff.u --- a/busybox/stuff/busybox-1.22-diff.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ ---- busybox-1.20.0/editors/diff.c -+++ busybox-1.20.0/editors/diff.c -@@ -756,6 +756,14 @@ - j = fread(buf1, 1, sz, fp[1]); - if (i != j) { - differ = true; -+ /* Ensure we detect binary file even if a file is empty or very -+ short. */ -+ for (k = 0; k < i; k++) -+ if (!buf0[k]) -+ binary = true; -+ for (k = 0; k < j; k++) -+ if (!buf1[k]) -+ binary = true; - i = MIN(i, j); - } - if (i == 0) diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-dpkg_deb-xz.u --- a/busybox/stuff/busybox-1.22-dpkg_deb-xz.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ ---- busybox-1.22.0/archival/dpkg_deb.c -+++ busybox-1.22.0/archival/dpkg_deb.c -@@ -82,6 +82,10 @@ - llist_add_to(&ar_archive->accept, (char*)"data.tar.lzma"); - llist_add_to(&control_tar_llist, (char*)"control.tar.lzma"); - #endif -+#if ENABLE_FEATURE_SEAMLESS_XZ -+ llist_add_to(&ar_archive->accept, (char*)"data.tar.xz"); -+ llist_add_to(&control_tar_llist, (char*)"control.tar.xz"); -+#endif - - opt_complementary = "c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX"; - opt = getopt32(argv, "cefXx"); diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-fatattr.u --- a/busybox/stuff/busybox-1.22-fatattr.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ ---- busybox-1.22.0/include/applets.src.h -+++ busybox-1.22.0/include/applets.src.h -@@ -138,6 +138,7 @@ - IF_EXPR(APPLET(expr, BB_DIR_USR_BIN, BB_SUID_DROP)) - IF_FAKEIDENTD(APPLET(fakeidentd, BB_DIR_USR_SBIN, BB_SUID_DROP)) - IF_FALSE(APPLET_NOFORK(false, false, BB_DIR_BIN, BB_SUID_DROP, false)) -+IF_FATATTR(APPLET(fatattr, BB_DIR_BIN, BB_SUID_DROP)) - IF_FBSET(APPLET(fbset, BB_DIR_USR_SBIN, BB_SUID_DROP)) - IF_FBSPLASH(APPLET(fbsplash, BB_DIR_SBIN, BB_SUID_DROP)) - IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush)) ---- busybox-1.22.0/e2fsprogs/Config.src -+++ busybox-1.22.0/e2fsprogs/Config.src -@@ -37,6 +37,13 @@ - help - lsattr lists the file attributes on a second extended file system. - -+config FATATTR -+ bool "fatattr" -+ default y -+ select PLATFORM_LINUX -+ help -+ fatattr lists or changes the file attributes on a fat file system. -+ - ### config MKE2FS - ### bool "mke2fs" - ### default y ---- busybox-1.22.0/e2fsprogs/Kbuild.src -+++ busybox-1.22.0/e2fsprogs/Kbuild.src -@@ -11,5 +11,7 @@ - lib-$(CONFIG_CHATTR) += chattr.o e2fs_lib.o - lib-$(CONFIG_LSATTR) += lsattr.o e2fs_lib.o - -+lib-$(CONFIG_FATATTR) += fatattr.o -+ - lib-$(CONFIG_FSCK) += fsck.o - lib-$(CONFIG_TUNE2FS) += tune2fs.o ---- busybox-1.22.0/e2fsprogs/fatattr.c -+++ busybox-1.22.0/e2fsprogs/fatattr.c -@@ -0,0 +1,113 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * fatattr.c - Display or change file attributes on a fat file system -+ * -+ * Copyright 2005 H. Peter Anvin -+ * Busybox'ed (2014) by Pascal Bellard -+ * -+ * This file can be redistributed under the terms of the GNU General -+ * Public License -+ */ -+ -+//usage:#define fatattr_trivial_usage -+//usage: "[-+rhsvda] [FILE]..." -+//usage:#define fatattr_full_usage "\n\n" -+//usage: "Change file attributes on a fat fs\n" -+//usage: "\nModifiers:" -+//usage: "\n - Clear attributes" -+//usage: "\n + Set attributes" -+//usage: "\nAttributes:" -+//usage: "\n r Read only" -+//usage: "\n h Hidden" -+//usage: "\n s System" -+//usage: "\n v Volume label" -+//usage: "\n d Directory" -+//usage: "\n a Archive" -+ -+#include "libbb.h" -+/* linux/msdos_fs.h says: */ -+#ifndef FAT_IOCTL_GET_ATTRIBUTES -+# define FAT_IOCTL_GET_ATTRIBUTES _IOR('r', 0x10, uint32_t) -+#endif -+#ifndef FAT_IOCTL_SET_ATTRIBUTES -+# define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, uint32_t) -+#endif -+ -+#define OPT_ADD 1 -+#define OPT_REM 2 -+ -+struct globals { -+ unsigned long af; -+ unsigned long rf; -+}; -+ -+/* Currently supports only the FAT flags, not the NTFS ones */ -+const char bit_to_char[] = "rhsvda67 "; -+ -+static inline unsigned long get_flag(char c) -+{ -+ const char *fp = strchr(bit_to_char, c); -+ if (fp) -+ return 1 << (fp - bit_to_char); -+ bb_error_msg_and_die("invalid character '%c' ", c); -+} -+ -+static inline int decode_arg(const char *arg, struct globals *gp) -+{ -+ unsigned long *fl; -+ char opt = *arg++; -+ -+ fl = &gp->af; -+ if (opt == '-') { -+ fl = &gp->rf; -+ } else if (opt != '+') { -+ return 0; -+ } -+ -+ while (*arg) -+ *fl |= get_flag(*arg++); -+ -+ return 1; -+} -+ -+int fatattr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -+int fatattr_main(int argc UNUSED_PARAM, char **argv) -+{ -+ struct globals g; -+ char *arg; -+ -+ g.rf = g.af = 0; -+ -+ /* parse the args */ -+ while ((arg = *++argv)) { -+ if (!decode_arg(arg, &g)) -+ break; -+ } -+ -+ /* run sanity checks on all the arguments given us */ -+ if (!*argv) -+ bb_show_usage(); -+ -+ /* now proceed all the files passed to us */ -+ do { -+ int fd, i; -+ uint32_t attr; -+ -+ fd = xopen(*argv, O_RDONLY); -+ xioctl(fd, FAT_IOCTL_GET_ATTRIBUTES, &attr); -+ attr |= g.af; -+ attr &= ~g.rf; -+ if (g.af || g.rf) -+ xioctl(fd, FAT_IOCTL_SET_ATTRIBUTES, &attr); -+ else { -+ for ( i = 0 ; bit_to_char[i] ; i++ ) { -+ bb_putchar( (attr & 1) ? bit_to_char[i] : ' ' ); -+ attr >>= 1; -+ } -+ puts(*argv); -+ } -+ close(fd); -+ } while (*++argv); -+ -+ return EXIT_SUCCESS; -+} diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-fbvnc.u --- a/busybox/stuff/busybox-1.22-fbvnc.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,681 +0,0 @@ - text data bss dec hex filename - 3118 0 0 3118 c2e util-linux/fbvnc.o ---- /dev/null -+++ busybox/util-linux/fbvnc.c -@@ -0,0 +1,551 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * A small linux framebuffer VNC viewer -+ * -+ * pascal.bellard@ads-lu.com -+ * -+ * Based on Ali Gholami Rudi's fbvnc.c -+ * http://repo.or.cz/w/fbvnc.git -+ * -+ * Licensed under GPLv2 or later, see file LICENSE in this source tree. -+ */ -+ -+//applet:IF_FBVNC(APPLET(fbvnc, BB_DIR_BIN, BB_SUID_DROP)) -+ -+//kbuild:lib-$(CONFIG_FBVNC) += fbvnc.o -+ -+//config:config FBVNC -+//config: bool "fbvnc" -+//config: default n -+//config: depends on PLATFORM_LINUX -+//config: help -+//config: A linux framebuffer VNC viewer. -+ -+//usage:#define fbvnc_trivial_usage -+//usage: "[VNC_SERVER] [PORT]" -+//usage:#define fbvnc_full_usage "\n\n" -+//usage: "A linux framebuffer VNC viewer." -+//usage: "\nTo exit, move mouse to upper left corner and press ESC." -+ -+#include "libbb.h" -+#include "vnc.h" -+ -+/* Stuff stolen from the kernel's fb.h */ -+#define FB_ACTIVATE_ALL 64 -+enum { -+ FBIOGET_VSCREENINFO = 0x4600, -+ FBIOPUT_VSCREENINFO = 0x4601, -+ FBIOGET_FSCREENINFO = 0x4602, -+ FBIOGETCMAP = 0x4604, -+ FBIOPUTCMAP = 0x4605 -+}; -+ -+struct fb_bitfield { -+ uint32_t offset; /* beginning of bitfield */ -+ uint32_t length; /* length of bitfield */ -+ uint32_t msb_right; /* !=0: Most significant bit is right */ -+}; -+struct fb_var_screeninfo { -+ uint32_t xres; /* visible resolution */ -+ uint32_t yres; -+ uint32_t xres_virtual; /* virtual resolution */ -+ uint32_t yres_virtual; -+ uint32_t xoffset; /* offset from virtual to visible */ -+ uint32_t yoffset; /* resolution */ -+ -+ uint32_t bits_per_pixel; -+ uint32_t grayscale; /* !=0 Graylevels instead of colors */ -+ -+ struct fb_bitfield red; /* bitfield in fb mem if true color, */ -+ struct fb_bitfield green; /* else only length is significant */ -+ struct fb_bitfield blue; -+ struct fb_bitfield transp; /* transparency */ -+ -+ uint32_t nonstd; /* !=0 Non standard pixel format */ -+ -+ uint32_t activate; /* see FB_ACTIVATE_x */ -+ -+ uint32_t height; /* height of picture in mm */ -+ uint32_t width; /* width of picture in mm */ -+ -+ uint32_t accel_flags; /* acceleration flags (hints) */ -+ -+ /* Timing: All values in pixclocks, except pixclock (of course) */ -+ uint32_t pixclock; /* pixel clock in ps (pico seconds) */ -+ uint32_t left_margin; /* time from sync to picture */ -+ uint32_t right_margin; /* time from picture to sync */ -+ uint32_t upper_margin; /* time from sync to picture */ -+ uint32_t lower_margin; -+ uint32_t hsync_len; /* length of horizontal sync */ -+ uint32_t vsync_len; /* length of vertical sync */ -+ uint32_t sync; /* see FB_SYNC_x */ -+ uint32_t vmode; /* see FB_VMODE_x */ -+ uint32_t reserved[6]; /* Reserved for future compatibility */ -+}; -+ -+#define DEFAULTFBDEV FB_0 -+ -+struct fb_fix_screeninfo { -+ char id[16]; /* identification string eg "TT Builtin" */ -+ unsigned long smem_start; /* Start of frame buffer mem */ -+ /* (physical address) */ -+ uint32_t smem_len; /* Length of frame buffer mem */ -+ uint32_t type; /* see FB_TYPE_* */ -+ uint32_t type_aux; /* Interleave for interleaved Planes */ -+ uint32_t visual; /* see FB_VISUAL_* */ -+ uint16_t xpanstep; /* zero if no hardware panning */ -+ uint16_t ypanstep; /* zero if no hardware panning */ -+ uint16_t ywrapstep; /* zero if no hardware ywrap */ -+ uint32_t line_length; /* length of a line in bytes */ -+ unsigned long mmio_start; /* Start of Memory Mapped I/O */ -+ /* (physical address) */ -+ uint32_t mmio_len; /* Length of Memory Mapped I/O */ -+ uint32_t accel; /* Indicate to driver which */ -+ /* specific chip/card we have */ -+ uint16_t reserved[3]; /* Reserved for future compatibility */ -+}; -+ -+struct fb_cmap { -+ uint32_t start; /* First entry */ -+ uint32_t len; /* Number of entries */ -+ uint16_t *red; /* Red values */ -+ uint16_t *green; -+ uint16_t *blue; -+ uint16_t *transp; /* transparency, can be NULL */ -+}; -+ -+#define FB_VISUAL_TRUECOLOR 2 /* True color */ -+ -+#define COLORLEVELS (1 << 8) -+ -+struct scroll_data { -+ int size; -+ int srv_size; -+ int offset; -+ int pos; -+}; -+ -+struct globals { -+ struct termios term_orig; -+ struct pollfd ufds[3]; -+#define kbd_fd ufds[0].fd -+#define vnc_fd ufds[1].fd -+#define rat_fd ufds[2].fd -+ struct scroll_data scroll[2]; -+#define cols scroll[0].size -+#define srv_cols scroll[0].srv_size -+#define oc scroll[0].offset -+#define mc scroll[0].pos -+#define rows scroll[1].size -+#define srv_rows scroll[1].srv_size -+#define or scroll[1].offset -+#define mr scroll[1].pos -+ int fb_fd; -+ void *fb_ptr; -+ int bpp; -+ int nr, ng, nb; -+ struct fb_var_screeninfo vinfo; -+ struct fb_fix_screeninfo finfo; -+ unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS]; -+}; -+ -+#define G (*ptr_to_globals) -+#define INIT_G() do { \ -+ SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ -+} while (0) -+ -+static int fb_len(void) -+{ -+ return G.finfo.line_length * G.vinfo.yres_virtual; -+} -+ -+static void fb_ioctl_cmap(int fct, struct fb_cmap *cmap) -+{ -+ if (G.finfo.visual == FB_VISUAL_TRUECOLOR) -+ return; -+ cmap->start = 0; -+ cmap->len = MAX(G.nr, MAX(G.ng, G.nb)); -+ cmap->transp = NULL; -+ xioctl(G.fb_fd, fct, cmap); -+} -+ -+static void fb_cmap_save(int save) -+{ -+ struct fb_cmap cmap; -+ -+ cmap.red = G.red; -+ cmap.green = G.green; -+ cmap.blue = G.blue; -+ fb_ioctl_cmap(save ? FBIOGETCMAP : FBIOPUTCMAP, &cmap); -+} -+ -+static void fb_build_cmap(unsigned short *color, int n) -+{ -+ int i, inc = 65535 / (n - 1); -+ -+ for (i = 0; n--; i += inc) -+ *color++ = i; -+} -+ -+static void fb_cmap(void) -+{ -+ unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS]; -+ struct fb_cmap cmap; -+ -+ fb_build_cmap(cmap.red = red, G.nr); -+ fb_build_cmap(cmap.green = green, G.ng); -+ fb_build_cmap(cmap.blue = blue, G.nb); -+ fb_ioctl_cmap(FBIOPUTCMAP, &cmap); -+} -+ -+static void fb_init(void) -+{ -+ G.fb_fd = xopen(DEFAULTFBDEV, O_RDWR); -+ xioctl(G.fb_fd, FBIOGET_VSCREENINFO, &G.vinfo); -+ xioctl(G.fb_fd, FBIOGET_FSCREENINFO, &G.finfo); -+ close_on_exec_on(G.fb_fd); -+ G.fb_ptr = mmap(NULL, fb_len(), PROT_READ | PROT_WRITE, MAP_SHARED, G.fb_fd, 0); -+ if (G.fb_ptr == MAP_FAILED) -+ bb_perror_msg_and_die("mmap"); -+ G.bpp = (G.vinfo.bits_per_pixel + 7) >> 3; -+ G.nr = 1 << G.vinfo.red.length; -+ G.nb = 1 << G.vinfo.blue.length; -+ G.ng = 1 << G.vinfo.green.length; -+ fb_cmap_save(1); -+ fb_cmap(); -+} -+ -+static void fb_free(void) -+{ -+ fb_cmap_save(0); -+ munmap(G.fb_ptr, fb_len()); -+ close(G.fb_fd); -+} -+ -+#define fb_rows vinfo.yres -+#define fb_cols vinfo.xres -+ -+static void fb_set(int r, int c, void *mem, int len) -+{ -+ memcpy(G.fb_ptr + (r + G.vinfo.yoffset) * G.finfo.line_length + -+ (c + G.vinfo.xoffset) * G.bpp, mem, len * G.bpp); -+} -+ -+#define line_buffer bb_common_bufsiz1 -+#define MAXPIX (sizeof(line_buffer)/sizeof(uint32_t)) -+ -+static void skip(int len) -+{ -+ int n; -+ while (len > 0 && (n = read(G.vnc_fd, line_buffer, -+ MIN(len, sizeof(line_buffer)))) > 0) -+ len -= n; -+} -+ -+static void vnc_init(void) -+{ -+ struct vnc_client_init clientinit; -+ struct vnc_server_init serverinit; -+ struct vnc_client_pixelfmt pixfmt_cmd; -+ int connstat = VNC_CONN_FAILED; -+ -+ write(G.vnc_fd, "RFB 003.003\n", 12); -+ skip(12); -+ -+ xread(G.vnc_fd, &connstat, sizeof(connstat)); -+ -+ if (ntohl(connstat) != VNC_CONN_NOAUTH) -+ bb_perror_msg_and_die("vnc auth"); -+ -+ clientinit.shared = 1; -+ write(G.vnc_fd, &clientinit, sizeof(clientinit)); -+ read(G.vnc_fd, &serverinit, sizeof(serverinit)); -+ -+ fb_init(); -+ G.srv_cols = ntohs(serverinit.w); -+ G.srv_rows = ntohs(serverinit.h); -+ G.cols = MIN(G.srv_cols, G.fb_cols); -+ G.rows = MIN(G.srv_rows, G.fb_rows); -+ G.mr = G.rows / 2; -+ G.mc = G.cols / 2; -+ -+ skip(ntohl(serverinit.len)); -+ pixfmt_cmd.type = VNC_CLIENT_PIXFMT; -+ pixfmt_cmd.format.bigendian = 0; -+ pixfmt_cmd.format.truecolor = 1; -+ pixfmt_cmd.format.bpp = -+ pixfmt_cmd.format.depth = G.bpp << 3; -+ pixfmt_cmd.format.rmax = htons(G.nr - 1); -+ pixfmt_cmd.format.gmax = htons(G.ng - 1); -+ pixfmt_cmd.format.bmax = htons(G.nb - 1); -+ pixfmt_cmd.format.rshl = G.vinfo.red.offset; -+ pixfmt_cmd.format.gshl = G.vinfo.green.offset; -+ pixfmt_cmd.format.bshl = G.vinfo.blue.offset; -+ write(G.vnc_fd, &pixfmt_cmd, sizeof(pixfmt_cmd)); -+} -+ -+static void vnc_refresh(int inc) -+{ -+ struct vnc_client_fbup fbup_req; -+ fbup_req.type = VNC_CLIENT_FBUP; -+ fbup_req.inc = inc; -+ fbup_req.x = htons(G.oc); -+ fbup_req.y = htons(G.or); -+ fbup_req.w = htons(G.oc + G.cols); -+ fbup_req.h = htons(G.or + G.rows); -+ write(G.vnc_fd, &fbup_req, sizeof(fbup_req)); -+} -+ -+static void cleanup(void) -+{ -+ const char *reset = "\x1b[?25h" "\x1b[2J\x1b[H"; -+ fb_free(); -+ tcsetattr_stdin_TCSANOW(&G.term_orig); -+ write(STDOUT_FILENO, reset, strlen(reset)); -+ if (ENABLE_FEATURE_CLEAN_UP) { -+ close(G.vnc_fd); -+ close(G.rat_fd); -+ } -+} -+ -+static void killed(int code) NORETURN; -+static void killed(int code) -+{ -+ cleanup(); -+ if (code > EXIT_FAILURE) -+ kill_myself_with_sig(code); -+ exit(code); -+} -+ -+static void vnc_event(void) -+{ -+ struct vnc_rect uprect; -+ union { -+ struct vnc_server_fbup fbup; -+ struct vnc_server_cuttext cuttext; -+ struct vnc_server_colormap colormap; -+ } msg; -+ int n; -+ -+ switch (xread_char(G.vnc_fd)) { -+ case VNC_SERVER_FBUP: -+ xread(G.vnc_fd, &msg.fbup.pad, sizeof(msg.fbup) - 1); -+ n = ntohs(msg.fbup.n); -+ while (n--) { -+ int x, y, w, h, l, i; -+ xread(G.vnc_fd, &uprect, sizeof(uprect)); -+ if (uprect.enc != 0) -+ killed(1); -+ i = 0; -+ x = ntohs(uprect.x) - G.oc; -+ y = ntohs(uprect.y) - G.or; -+ w = ntohs(uprect.w); -+ h = ntohs(uprect.h); -+ l = MIN(w, G.cols - x); -+ if (x < 0) { -+ l = MIN(w + x, G.cols); -+ i = -x; -+ x = 0; -+ } -+ for (; h--; y++) { -+ int a, b, c = i; -+ for (a = b = 0; w > b; b += a, c = 0) { -+ int len; -+ a = MIN(w - b, MAXPIX); -+ len = MIN(a, l - b) - c; -+ xread(G.vnc_fd, line_buffer, a * G.bpp); -+ if (y >= 0 && y < G.rows && len > 0) -+ fb_set(y, x + b, -+ line_buffer + (c * G.bpp), -+ len); -+ } -+ } -+ } -+ break; -+ case VNC_SERVER_BELL: -+ break; -+ case VNC_SERVER_CUTTEXT: -+ xread(G.vnc_fd, &msg.cuttext.pad1, sizeof(msg.cuttext) - 1); -+ skip(ntohl(msg.cuttext.len)); -+ break; -+ case VNC_SERVER_COLORMAP: -+ xread(G.vnc_fd, &msg.colormap.pad, sizeof(msg.colormap) - 1); -+ skip(ntohs(msg.colormap.n) * 3 * 2); -+ break; -+ default: -+ killed(1); -+ } -+} -+ -+static int update_scroll(struct scroll_data *s) -+{ -+ int shift = s->size / 5; -+ int max = s->srv_size - s->size; -+ int status = 0; -+ if (s->pos < s->offset) { -+ if ((s->offset -= shift) < 0) -+ s->offset = 0; -+ } -+ else if (s->pos >= s->offset + s->size && s->offset < max) { -+ if ((s->offset += shift) > max) -+ s->offset = max; -+ } -+ else status++; -+ s->pos = MAX(s->offset, MIN(s->offset + s->size - 1, s->pos)); -+ return status; -+} -+ -+static void rat_event(void) -+{ -+ signed char ie[3]; -+ struct vnc_client_ratevent me = {VNC_CLIENT_RATEVENT}; -+ int mask = 0; -+ int refresh; -+ -+ xread(G.rat_fd, &ie, sizeof(ie)); -+ G.mc += ie[1]; -+ G.mr -= ie[2]; -+ refresh = 2 - update_scroll(&G.scroll[0]) - update_scroll(&G.scroll[1]); -+ if (ie[0] & 0x01) -+ mask |= VNC_BUTTON1_MASK; -+ if (ie[0] & 0x04) -+ mask |= VNC_BUTTON2_MASK; -+ if (ie[0] & 0x02) -+ mask |= VNC_BUTTON3_MASK; -+ me.y = htons(G.mr); -+ me.x = htons(G.mc); -+ me.mask = mask; -+ write(G.vnc_fd, &me, sizeof(me)); -+ if (refresh) -+ vnc_refresh(0); -+} -+ -+static int press(int key, int down) -+{ -+ struct vnc_client_keyevent ke = {VNC_CLIENT_KEYEVENT}; -+ ke.key = htonl(key); -+ ke.down = down; -+ return write(G.vnc_fd, &ke, sizeof(ke)); -+} -+ -+static void kbd_event(void) -+{ -+ char key[1024]; -+ int i, nr; -+ -+ if ((nr = read(0, key, sizeof(key))) <= 0 ) -+ killed(1); -+ for (i = 0; i < nr; i++) { -+ int k = -1; -+ int mod[4]; -+ int nmod = 0; -+ switch (key[i]) { -+ case 0x08: -+ case 0x7f: -+ k = 0xff08; -+ break; -+ case 0x09: -+ k = 0xff09; -+ break; -+ case 0x1b: -+ if (G.oc + G.mc + G.or + G.mr == 0) -+ killed(0); -+ if (i + 2 < nr && key[i + 1] == '[') { -+ if (key[i + 2] == 'A') -+ k = 0xff52; -+ if (key[i + 2] == 'B') -+ k = 0xff54; -+ if (key[i + 2] == 'C') -+ k = 0xff53; -+ if (key[i + 2] == 'D') -+ k = 0xff51; -+ if (key[i + 2] == 'H') -+ k = 0xff50; -+ if (k > 0) { -+ i += 2; -+ break; -+ } -+ } -+ k = 0xff1b; -+ if (i + 1 < nr) { -+ mod[nmod++] = 0xffe9; -+ k = key[++i]; -+ } -+ break; -+ case 0x0d: -+ k = 0xff0d; -+ break; -+ case 0x0c: /* ^L: redraw */ -+ vnc_refresh(0); -+ default: -+ k = (unsigned char) key[i]; -+ } -+ if ((k >= 'A' && k <= 'Z') || strchr(":\"<>?{}|+_()*&^%$#@!~", k)) -+ mod[nmod++] = 0xffe1; -+ if (k >= 1 && k <= 26) { -+ k += 'a' - 1; -+ mod[nmod++] = 0xffe3; -+ } -+ if (k > 0) { -+ int j; -+ mod[nmod] = k; -+ for (j = 0; j <= nmod; j++) -+ press(mod[j], 1); -+ press(k, 0); -+ for (j = 0; j < nmod; j++) -+ press(mod[j], 0); -+ } -+ } -+} -+ -+static void term_setup(void) -+{ -+ struct termios termios; -+ const char *init = "\x1b[?25l" "\x1b[2J\x1b[H" "** fbvnc **"; -+ -+ write(STDOUT_FILENO, init, strlen(init)); -+ tcgetattr (STDIN_FILENO, &termios); -+ G.term_orig = termios; -+ cfmakeraw(&termios); -+ tcsetattr_stdin_TCSANOW(&termios); -+} -+ -+int fbvnc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -+int fbvnc_main(int argc, char **argv) -+{ -+ char *host = (char *) "127.0.0.1"; -+ int port, pending = 0; -+ -+ INIT_G(); -+ if (argc >= 2) -+ host = argv[1]; -+ port = bb_lookup_port((argc >= 3) ? argv[2] : "vnc", "tcp", 5900); -+ G.vnc_fd = create_and_connect_stream_or_die(host, port); -+ vnc_init(); -+ G.rat_fd = open("/dev/input/mice", O_RDONLY); -+ term_setup(); -+ atexit(cleanup); -+ bb_signals(BB_FATAL_SIGS, killed); -+ -+ G.ufds[0].events = -+ G.ufds[1].events = -+ G.ufds[2].events = POLLIN; -+ vnc_refresh(0); -+ while (1) { -+ int status = poll(G.ufds, 3, 500); -+ if (status == -1 && errno != EINTR) -+ killed(1); -+ if (!status) -+ continue; -+ if (G.ufds[0].revents & POLLIN) -+ kbd_event(); -+ if (G.ufds[1].revents & POLLIN) { -+ vnc_event(); -+ pending = 0; -+ } -+ if (G.ufds[2].revents & POLLIN) -+ rat_event(); -+ if (!pending++) -+ vnc_refresh(1); -+ } -+} ---- /dev/null -+++ busybox/util-linux/vnc.h -@@ -0,0 +1,122 @@ -+#define VNC_CONN_FAILED 0 -+#define VNC_CONN_NOAUTH 1 -+#define VNC_CONN_AUTH 2 -+ -+#define VNC_AUTH_OK 0 -+#define VNC_AUTH_FAILED 1 -+#define VNC_AUTH_TOOMANY 2 -+ -+#define VNC_SERVER_FBUP 0 -+#define VNC_SERVER_COLORMAP 1 -+#define VNC_SERVER_BELL 2 -+#define VNC_SERVER_CUTTEXT 3 -+ -+#define VNC_CLIENT_PIXFMT 0 -+#define VNC_CLIENT_COLORMAP 1 -+#define VNC_CLIENT_SETENC 2 -+#define VNC_CLIENT_FBUP 3 -+#define VNC_CLIENT_KEYEVENT 4 -+#define VNC_CLIENT_RATEVENT 5 -+#define VNC_CLIENT_CUTTEXT 6 -+ -+#define VNC_ENC_RAW 0 -+#define VNC_ENC_COPYRECT 1 -+#define VNC_ENC_RRE 2 -+#define VNC_ENC_CORRE 4 -+#define VNC_ENC_HEXTILE 5 -+ -+#define VNC_BUTTON1_MASK 0x1 -+#define VNC_BUTTON2_MASK 0x2 -+#define VNC_BUTTON3_MASK 0x4 -+ -+typedef unsigned char u8; -+typedef unsigned short u16; -+typedef unsigned int u32; -+ -+struct vnc_pixelfmt { -+ u8 bpp; -+ u8 depth; -+ u8 bigendian; -+ u8 truecolor; -+ u16 rmax; -+ u16 gmax; -+ u16 bmax; -+ u8 rshl; -+ u8 gshl; -+ u8 bshl; -+ -+ u8 pad1; -+ u16 pad2; -+}; -+ -+struct vnc_client_init { -+ u8 shared; -+}; -+ -+struct vnc_server_init { -+ u16 w; -+ u16 h; -+ struct vnc_pixelfmt fmt; -+ u32 len; -+ /* char name[len]; */ -+}; -+ -+struct vnc_rect { -+ u16 x, y; -+ u16 w, h; -+ u32 enc; -+ /* rect bytes */ -+}; -+ -+struct vnc_server_fbup { -+ u8 type; -+ u8 pad; -+ u16 n; -+ /* struct vnc_rect rects[n]; */ -+}; -+ -+struct vnc_server_cuttext { -+ u8 type; -+ u8 pad1; -+ u16 pad2; -+ u32 len; -+ /* char text[length] */ -+}; -+ -+struct vnc_server_colormap { -+ u8 type; -+ u8 pad; -+ u16 first; -+ u16 n; -+ /* u8 colors[n * 3 * 2]; */ -+}; -+ -+struct vnc_client_pixelfmt { -+ u8 type; -+ u8 pad1; -+ u16 pad2; -+ struct vnc_pixelfmt format; -+}; -+ -+struct vnc_client_fbup { -+ u8 type; -+ u8 inc; -+ u16 x; -+ u16 y; -+ u16 w; -+ u16 h; -+}; -+ -+struct vnc_client_keyevent { -+ u8 type; -+ u8 down; -+ u16 pad; -+ u32 key; -+}; -+ -+struct vnc_client_ratevent { -+ u8 type; -+ u8 mask; -+ u16 x; -+ u16 y; -+}; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-losetup.u --- a/busybox/stuff/busybox-1.22-losetup.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -keep previous default behaviour ---- busybox-1.22.0/util-linux/losetup.c -+++ busybox-1.22.0/util-linux/losetup.c -@@ -70,7 +70,7 @@ - } - - /* -a */ -- if (opt == OPT_a) { -+ if (opt == OPT_a || (!opt && !argv[0])) { - int n; - for (n = 0; n < MAX_LOOP_NUM; n++) { - char *s; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-printable.u --- a/busybox/stuff/busybox-1.22-printable.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -fix the bug of 'ls cannot display utf-8 filenames' ---- busybox-1.17.3/libbb/printable_string.c -+++ busybox-printable/libbb/printable_string.c -@@ -31,8 +31,8 @@ - } - if (c < ' ') - break; -- if (c >= 0x7f) -- break; -+ /* if (c >= 0x7f) */ -+ /* break; */ - s++; - } - -@@ -45,7 +45,8 @@ - unsigned char c = *d; - if (c == '\0') - break; -- if (c < ' ' || c >= 0x7f) -+ /* if (c < ' ' || c >= 0x7f) */ -+ if (c < ' ') - *d = '?'; - d++; - } diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-ris.u --- a/busybox/stuff/busybox-1.22-ris.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -Add support for the Windows Remote Installation Service ---- busybox-1.21.0/networking/Config.src -+++ busybox-1.21.0/networking/Config.src -@@ -820,6 +820,15 @@ - comment "Common options for tftp/tftpd" - depends on TFTP || TFTPD - -+config FEATURE_TFTPD_RIS -+ bool "Enable \"RIS\" support" -+ default y -+ depends on TFTPD -+ help -+ Add support for the Windows Remote Installation Service. This allows -+ a client to get files starting with \ without respecting case. -+ Each \ will be replaced by a /. -+ - config FEATURE_TFTP_GET - bool "Enable 'tftp get' and/or tftpd upload code" - default y - ---- busybox-1.20.0/networking/tftp.c -+++ busybox-1.20.0/networking/tftp.c -@@ -671,6 +671,59 @@ - #undef remote_file - } - -+#if ENABLE_FEATURE_TFTPD_RIS -+#include -+ -+static int lookup_entry(const char *search, char *unixpath); -+static void unixfilename(char *filename); -+ -+// lookup search and concat real filename to unixpath -+static int lookup_entry(const char *search, char *unixpath) -+{ -+ int status = 0; -+ DIR *dirp = opendir(unixpath[0] ? unixpath : "."); -+ -+ if (dirp != NULL) { -+ struct dirent *entry; -+ -+ while ((entry = readdir(dirp))) { -+ if (!strcasecmp(entry->d_name, search)) { -+ if (unixpath[0]) strcat(unixpath, "/"); -+ strcat(unixpath, entry->d_name); -+ status++; -+ break; -+ } -+ } -+ closedir(dirp); -+ } -+ return status; -+} -+ -+// update filename with real file path found -+static void unixfilename(char *filename) -+{ -+ char unixpath[PATH_MAX]; -+ char *s = unixpath + 1; -+ char *check = filename + 1; -+ int len; -+ -+ for (unixpath[0] = 0; *check; len++, s += len, check += len) { -+ char *seek = strchr(check, '\\'); -+ -+ if (!seek) { // basename of filename -+ if (lookup_entry(check, unixpath)) -+ strcpy(filename, unixpath); // found -+ break; -+ } -+ len = seek - check; -+ memcpy(s, check, len); -+ s[len] = '\0'; -+ if (!lookup_entry(s, unixpath)) -+ break; // path mismatch -+ } -+} -+#endif -+ - #if ENABLE_TFTP - - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -@@ -809,6 +862,10 @@ - goto err; - } - local_file = G.block_buf + 2; -+#if ENABLE_FEATURE_TFTPD_RIS -+ if (local_file[0] == '\\') -+ unixfilename(local_file); -+#endif - if (local_file[0] == '.' || strstr(local_file, "/.")) { - error_msg = "dot in file name"; - goto err; diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-stat.u --- a/busybox/stuff/busybox-1.22-stat.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -Add non standard stat -m support to display file block list -Useful to patch read-only filesystems such as ISO9660, for defragmentation -tools or boot loaders ---- busybox-1.20.0/coreutils/stat.c -+++ busybox-1.20.0/coreutils/stat.c -@@ -23,6 +23,7 @@ - //usage: "\n -f Display filesystem status" - //usage: "\n -L Follow links" - //usage: "\n -t Display info in terse form" -+//usage: "\n -m Display block list" - //usage: IF_SELINUX( - //usage: "\n -Z Print security context" - //usage: ) -@@ -73,11 +74,13 @@ - //usage: ) - - #include "libbb.h" -+#include - - #define OPT_FILESYS (1 << 0) - #define OPT_TERSE (1 << 1) - #define OPT_DEREFERENCE (1 << 2) --#define OPT_SELINUX (1 << 3) -+#define OPT_MAP (1 << 3) -+#define OPT_SELINUX (1 << 4) - - #if ENABLE_FEATURE_STAT_FORMAT - typedef bool (*statfunc_ptr)(const char *, const char *); -@@ -425,6 +428,26 @@ - - /* Stat the file system and print what we find. */ - #if !ENABLE_FEATURE_STAT_FORMAT -+#define do_mapfile(filename, format) do_mapfile(filename) -+#endif -+static bool do_mapfile(const char *filename, const char *format) -+{ -+ int i = 0; -+ int fd = xopen(filename, O_RDONLY); -+ -+#if ENABLE_FEATURE_STAT_FORMAT -+ (void) format; -+#endif -+ while (1) { -+ int blk = i++; -+ if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break; -+ printf("%u\n",blk); -+ } -+ return 1; -+} -+ -+/* Stat the file system and print what we find. */ -+#if !ENABLE_FEATURE_STAT_FORMAT - #define do_statfs(filename, format) do_statfs(filename) - #endif - static bool do_statfs(const char *filename, const char *format) -@@ -720,7 +743,7 @@ - statfunc_ptr statfunc = do_stat; - - opt_complementary = "-1"; /* min one arg */ -- opts = getopt32(argv, "ftL" -+ opts = getopt32(argv, "ftLm" - IF_SELINUX("Z") - IF_FEATURE_STAT_FORMAT("c:", &format) - ); -@@ -731,6 +754,9 @@ - selinux_or_die(); - } - #endif -+ if (opts & OPT_MAP) { /* -m */ -+ statfunc = do_mapfile; -+ } - ok = 1; - argv += optind; - for (i = 0; argv[i]; ++i) diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-tar.u --- a/busybox/stuff/busybox-1.22-tar.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -Accept and ignore --wildcards argument ---- busybox-1.21.0/archival/tar.c -+++ busybox-1.21.0/archival/tar.c -@@ -946,10 +946,12 @@ - # if ENABLE_FEATURE_TAR_NOPRESERVE_TIME - "touch\0" No_argument "m" - # endif -- "no-recursion\0" No_argument "\xfa" -+ "no-recursion\0" No_argument "\xf9" - # if ENABLE_FEATURE_TAR_TO_COMMAND -- "to-command\0" Required_argument "\xfb" -+ "to-command\0" Required_argument "\xfa" - # endif -+ /* ignore --wildcards */ -+ "wildcards\0" No_argument "\xfb" - /* use numeric uid/gid from tar header, not textual */ - "numeric-owner\0" No_argument "\xfc" - /* do not restore mode */ diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/busybox-1.22-xz.u --- a/busybox/stuff/busybox-1.22-xz.u Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ ---- busybox-1.21.0/archival/libarchive/decompress_unxz.c -+++ busybox-1.21.0/archival/libarchive/decompress_unxz.c -@@ -40,6 +40,7 @@ static uint32_t xz_crc32(const uint8_t * - IF_DESKTOP(long long) int FAST_FUNC - unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) - { -+ enum xz_ret xz_result; - struct xz_buf iobuf; - struct xz_dec *state; - unsigned char *membuf; -@@ -63,9 +64,8 @@ unpack_xz_stream(transformer_aux_data_t - /* Limit memory usage to about 64 MiB. */ - state = xz_dec_init(XZ_DYNALLOC, 64*1024*1024); - -+ xz_result = X_OK; - while (1) { -- enum xz_ret r; -- - if (iobuf.in_pos == iobuf.in_size) { - int rd = safe_read(src_fd, membuf, BUFSIZ); - if (rd < 0) { -@@ -73,28 +73,57 @@ unpack_xz_stream(transformer_aux_data_t - total = -1; - break; - } -+ if (rd == 0 && xz_result == XZ_STREAM_END) -+ break; - iobuf.in_size = rd; - iobuf.in_pos = 0; - } -+ if (xz_result == XZ_STREAM_END) { -+ /* -+ * Try to start decoding next concatenated stream. -+ * Stream padding must always be a multiple of four -+ * bytes to preserve four-byte alignment. To keep the -+ * code slightly smaller, we aren't as strict here as -+ * the .xz spec requires. We just skip all zero-bytes -+ * without checking the alignment and thus can accept -+ * files that aren't valid, e.g. the XZ utils test -+ * files bad-0pad-empty.xz and bad-0catpad-empty.xz. -+ */ -+ do { -+ if (membuf[iobuf.in_pos] != 0) { -+ xz_dec_reset(state); -+ goto do_run; -+ } -+ iobuf.in_pos++; -+ } while (iobuf.in_pos < iobuf.in_size); -+ } -+ do_run: - // bb_error_msg(">in pos:%d size:%d out pos:%d size:%d", - // iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size); -- r = xz_dec_run(state, &iobuf); -+ xz_result = xz_dec_run(state, &iobuf); - // bb_error_msg(" /dev/null - exec /etc/init.d/inetd start -else - echo "$NAME is already active." - exit 1 -fi -} - -inactive_inetd() -{ -if grep $DAEMON /etc/inetd.conf | grep -q ^\#; then - echo "$NAME is not active." - exit 1 -else - sed -i "s,^.*$DAEMON.*$,#&," /etc/inetd.conf - /etc/init.d/inetd stop > /dev/null - exec /etc/init.d/inetd start -fi -} - -case "$1" in - start) - grep -qs $DAEMON /etc/inetd.conf && active_inetd - if active_pidfile $PIDFILE $NAME ; then - echo "$NAME is already running." - exit 1 - fi - echo -n "Starting $DESC: $NAME... " - $DAEMON $OPTIONS - [ -f $PIDFILE ] || pidof $NAME | awk '{ print $1 }' > $PIDFILE - active_pidfile $PIDFILE $NAME - status - ;; - stop) - grep -qs $DAEMON /etc/inetd.conf && inactive_inetd - if ! active_pidfile $PIDFILE $NAME ; then - echo "$NAME is not running." - exit 1 - fi - echo -n "Stopping $DESC: $NAME... " - kill `cat $PIDFILE` - status - ;; - restart) - grep -qs $DAEMON /etc/inetd.conf && exit 0 - if ! active_pidfile $PIDFILE $NAME ; then - echo "$NAME is not running." - exit 1 - fi - echo -n "Restarting $DESC: $NAME... " - kill `cat $PIDFILE` - sleep 2 - $DAEMON $OPTIONS - [ -f $PIDFILE ] || pidof $NAME | awk '{ print $1 }' > $PIDFILE - active_pidfile $PIDFILE $NAME - status - ;; -*) - echo "" - echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart]" - echo "" - exit 1 - ;; -esac - -exit 0 diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/dnsd.conf --- a/busybox/stuff/dnsd.conf Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -# /etc/dnsd.conf: SliTaz DNS server configuration. -# - -slitaz 192.168.0.6 -gateway 192.168.0.1 diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/httpd.conf --- a/busybox/stuff/httpd.conf Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -# /etc/httpd.conf: Busybox HTTP web server configuration file. - -# Server root. -H:/var/www - -# Allow address. -A:192.168. - -# File to open by default. -#I:index.html - -# Path to the 404 error page. -E404:/httpd/404.html - -# Require user root on urls starting with /adm/. use passwd system db -/adm:root:* - -# Reverse proxy. -#P:/url:[http://]hostname[:port]/new/path - -# CGI interpreter path. -*.sh:/bin/sh -*.cgi:/bin/sh -#*.py:/usr/bin/python -#*.php:/usr/bin/php-cgi - -# MIME type. -.txt:text/plain -.css:text/css -.xml:text/xml -.png:image/png -.jpg:image/jpeg -.tgz:application/x-tgz -.tar.gz:application/x-tgz -.tazpkg:application/x-tazpkg diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/httpd_helper.sh --- a/busybox/stuff/httpd_helper.sh Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -#!/bin/sh -# -# busybox/httpd helper for shell cgi scripts, providing: -# -# GET [var [index]] | POST [var [index]] | COOKIE [var [index]] -# FILE [var {name|tmpname|size|type}] -# header [strings]... | urlencode string | htmlentities string | httpinfo -# - -alias urlencode='httpd -e' - -# Send headers, example : -# header "Content-type: text/html" "Set-Cookie: name=value; HttpOnly" -header() -{ -local i -[ -z "$1" ] && set -- "Content-type: text/html" -for i in "$@" "" ; do echo -e "$i\r"; done -} - -htmlentities() -{ -echo $1 | sed 's|&|\&|g;s|<|\<|g;s|>|\>|g;s|"|\"|g' -} - -_ARRAY() -{ -[ -z "$2" ] && eval echo \$${1}__NAMES || - [ -n "$(eval echo \$${1}__NAMES)" ] && eval echo \$${1}_${2}_${3:-1} -} - -GET() { _ARRAY GET "$1" $2; } -POST() { _ARRAY POST "$1" $2; } -FILE() { _ARRAY FILE "$1" $2; } -COOKIE() { _ARRAY COOKIE "$1" $2; } - -httpinfo() -{ -local i -local j -local x -for i in SERVER_PROTOCOL SERVER_SOFTWARE SERVER_NAME SERVER_PORT AUTH_TYPE \ - GATEWAY_INTERFACE REMOTE_HOST REMOTE_ADDR REMOTE_PORT \ - HTTP_REFERER HTTP_HOST HTTP_USER_AGENT HTTP_ACCEPT \ - HTTP_ACCEPT_LANGUAGE HTTP_COOKIE AUTH_TYPE REMOTE_USER REMOTE_IDENT \ - REQUEST_METHOD REQUEST_URI QUERY_STRING CONTENT_LENGTH CONTENT_TYPE \ - SCRIPT_NAME SCRIPT_FILENAME PATH_INFO PATH_TRANSLATED \ - USER HOME LOGNAME SHELL PWD ; do - eval x=\$$i - [ -n "$x" ] && echo "$i='$x'" -done -for x in GET POST COOKIE ; do - for i in $($x) ; do - if [ $($x $i count) -gt 1 ]; then - for j in $(seq 1 $($x $i count)); do - echo "$x($i,$j)='$($x $i $j)'" - done - else - echo "$x($i)='$($x $i)'" - fi - done -done -for i in $(FILE) ; do - for j in name size type tmpname ; do - echo "FILE($i,$j)='$(FILE $i $j)'" - done -done -} - -read_query_string() -{ -local i -local names -local cnt -names="" -IFS="&" -for i in $2 ; do - var=${i%%[^A-Za-z_0-9]*} - case " $names " in - *\ $var\ *) eval cnt=\$${1}_${var}_count ;; - *) cnt=0 - names="$names $var" ;; - esac - eval ${1}_${var}_count=$((++cnt)) - eval ${1}_${var}_$cnt=\'$(httpd -d "${i#*=}" | sed "s/'/\'\\\\\'\'/g")\' -done -unset IFS -eval ${1}__NAMES=\'${names# }\' -} - -[ -z "$GET__NAMES" ] && read_query_string GET "$QUERY_STRING" -[ -z "$COOKIE_NAMES" ] && - read_query_string COOKIE "$(echo "$HTTP_COOKIE" | sed 's/; /\&/g')" - -ddcut() -{ -page=4096 -skip=$1 -count=$(($2 - $1 -2)) -tmp=$(($skip / $page)) -[ $tmp -ne 0 ] && dd bs=$page skip=$tmp count=0 -skip=$(($skip - ($tmp * $page) )) -dd bs=1 skip=$skip count=0 -tmp=$(( ($page - $skip) % $page )) -if [ $tmp -ne 0 -a $tmp -le $count ]; then - dd bs=1 count=$tmp - count=$(($count - $tmp)) -fi -tmp=$(($count / $page)) -[ $tmp -ne 0 ] && dd bs=$page count=$tmp -dd bs=1 count=$(($count - ($tmp * $page) )) -} - -if [ "$REQUEST_METHOD$POST__NAMES" == "POST" ]; then - prefix=/tmp/httpd_post - mkdir $prefix$$ - now=$(stat -c %Y $prefix$$) - for i in $prefix* ; do - [ $(stat -c %Y $i) -lt $(($now - 3600)) ] && rm -rf $i - done - post=$prefix$$/post - n=1 - cat > ${post}0 - read delim < ${post}0 - delim=${delim%?} - case "$delim" in - -*) awk "/$delim/ { o+=index(\$0,\"$delim\")-1; print o } - { o+=1+length() }" < ${post}0 | while read offset; do - if [ $offset -ne 0 ]; then - ddcut $last $offset < ${post}0 > $post$n 2> /dev/null - n=$(($n+1)) - fi - last=$offset - done - rm -f ${post}0 - CR=`printf '\r'` - for i in $post* ; do - head -n 2 $i | grep -q filename= || echo '' >> $i - filename= - while read line; do - case "$line" in - *Content-Disposition*) - name=$(echo $line | sed 's/.* name="\([^"]*\)".*$/\1/') - name=${name%%[^A-Za-z_0-9]*} - case "$line" in - *filename=*) filename=$(echo $line | sed 's/.* filename="\([^"]*\)".*$/\1/') ;; - esac ;; - *Content-Type*) - type=$(echo $line | sed 's/.*-Type: \(.*\).$/\1/') ;; - $CR) - if [ -n "$filename" ]; then - tmp=$(mktemp $prefix$$/uploadXXXXXX) - cat > $tmp - FILE__NAMES="$FILE__NAMES $name" - FILE__NAMES="${FILE__NAMES# }" - eval FILE_${name}_tmpname=$tmp - eval FILE_${name}_name=$filename - eval FILE_${name}_size=$(stat -c %s $tmp) - eval FILE_${name}_type=$type - elif [ -n "$name" ]; then - eval cnt=\$POST_${name}_count - cnt=$(($cnt + 1)) - eval var=\$POST_${name}_$cnt - while read line; do - [ -n "$var" ] && var="$var -" - var="$var$line" - done - eval POST_${name}_$cnt="\$var" - eval POST_${name}_count=$cnt - case " $POST__NAMES " in - *\ $name\ *) ;; - *) POST__NAMES="$POST__NAMES $name" - POST__NAMES="${POST__NAMES# }" ;; - esac - fi - break ;; - *) - esac - done < $i - rm -f $i - done - rmdir $(dirname $post) ;; - *) rm -rf $(dirname $post) - read_query_string POST "$delim" ;; - esac -fi diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/inetd.conf --- a/busybox/stuff/inetd.conf Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -# Internet server configuration database -# -# -# If you want to disable an entry so it isn't touched during -# package updates just comment it out with a single '#' character. -# -# If you make changes to this file, either reboot your machine or -# send the inetd process a HUP signal: -# Do a "ps x" as root and look up the pid of inetd. Then do a -# kill -HUP -# inetd will re-read this file whenever it gets that signal. -# -# -#:INTERNAL: Internal services -# It is generally considered safer to keep these off. -echo stream tcp nowait root internal -echo dgram udp wait root internal -#discard stream tcp nowait root internal -#discard dgram udp wait root internal -daytime stream tcp nowait root internal -daytime dgram udp wait root internal -#chargen stream tcp nowait root internal -#chargen dgram udp wait root internal -time stream tcp nowait root internal -time dgram udp wait root internal - -# These are standard services. -# -tftp dgram udp wait root tftpd tftpd -r /boot -#systat stream tcp nowait nobody ps -#netstat stream tcp nowait root netstat netstat -a -#http stream tcp nowait root httpd httpd -i -u 80:80 -#ftp stream tcp nowait root ftpd ftpd -w /home/ftp -#printer stream tcp nowait root lpd lpd /var/spool/lpd -#telnet stream tcp nowait root telnetd telnetd -i diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/syslog.conf --- a/busybox/stuff/syslog.conf Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -# /etc/syslog.conf Configuration file for syslogd. - -*.*;auth,authpriv.none /var/log/messages -auth,authpriv.* /var/log/auth.log -cron.* /var/log/cron.log -daemon.* /var/log/daemon.log -mail.* /var/log/mail.log -lpr.* /var/log/lpr.log diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/udhcp.script --- a/busybox/stuff/udhcp.script Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -#!/bin/sh - -# udhcpc script edited by Tim Riker - -[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 - -[ "$subnet" == "255.255.255.255" ] && subnet="255.255.0.0" # qemu/ipv6 weirdness -RESOLV_CONF="/etc/resolv.conf" -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" -[ -n "$subnet" ] && NETMASK="netmask $subnet" - -netfs() -{ - /bin/grep -qe '\(:.* /\|httpfs\|nfs\|smbfs\|ncp\|coda\)' /proc/mounts -} - -logger "$0 interface=$interface ip=$ip broadcast=$broadcast subnet=$subnet router=$router domain=$domain dns=$dns $@" - -case "$1" in - deconfig) - netfs || /sbin/ifconfig $interface 0.0.0.0 - for i in /etc/ipdown.d/*; do - [ -x $i ] && $i $interface - done - ;; - - renew|bound) - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK - - if [ -n "$router" ] ; then - echo "deleting routers" - while route del default gw 0.0.0.0 dev $interface 2>/dev/null; do - : - done - - metric=0 - for i in $router ; do - route add default gw $i dev $interface metric $((metric++)) 2>/dev/null - done - fi - - echo -n > $RESOLV_CONF - [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF - for i in $dns ; do - echo adding dns $i - echo nameserver $i >> $RESOLV_CONF - done - [ "$1" == "bound" ] && for i in /etc/ipup.d/*; do - [ -x $i ] && $i $interface $ip $dns - done - ;; -esac - -exit 0 diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/udhcpd.conf --- a/busybox/stuff/udhcpd.conf Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -# /etc/udhcpd.conf: SliTaz DHCP server configuration. -# - -# The start and end of the IP lease block -start 192.168.0.20 #default: 192.168.0.20 -end 192.168.0.254 #default: 192.168.0.254 - -# The interface that udhcpd will use -interface eth0 #default: eth0 - -# The maximum number of leases (includes addressesd reserved -# by OFFER's, DECLINE's, and ARP conficts -#max_leases 254 #default: 254 - -# The amount of time that an IP will be reserved (leased) for if a -# DHCP decline message is received (seconds). -#decline_time 3600 #default: 3600 (1 hour) - -# The amount of time that an IP will be reserved (leased) for if an -# ARP conflct occurs. (seconds -#conflict_time 3600 #default: 3600 (1 hour) - -# How long an offered address is reserved (leased) in seconds -#offer_time 60 #default: 60 (1 minute) - -# If a lease to be given is below this value, the full lease time is -# instead used (seconds). -#min_lease 60 #defult: 60 - -# The location of the leases file -lease_file /var/lib/udhcpd.leases #default: /var/lib/misc/udhcpd.leases - -# The location of the pid file -pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid - -# The remainer of options are DHCP options and can be specifed with the -# keyword 'opt' or 'option'. If an option can take multiple items, such -# as the dns option, they can be listed on the same line, or multiple -# lines. The only option with a default is 'lease'. - -#Examples -#opt dns 192.168.10.2 192.168.10.10 -option subnet 255.255.255.0 -#option dns 129.219.13.81 # appened to above DNS servers for a total of 3 -option lease 864000 # 10 days of seconds - -# Currently supported options -#opt subnet -#opt timezone -#opt router -#opt timesrv -#opt namesrv -#opt dns -#opt logsrv -#opt cookiesrv -#opt lprsrv -#opt bootsize -#opt domain -#opt swapsrv -#opt rootpath -#opt ipttl -#opt mtu -#opt broadcast -#opt wins -#opt lease -#opt ntpsrv -#opt tftp -#opt bootfile diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/www/httpd/404.html --- a/busybox/stuff/www/httpd/404.html Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - - 404 Not Found - - - - - - - - - -
-

404 Not Found

- - -
- - - - - - diff -r a0f100f75fb2 -r 7384efde91bf busybox/stuff/zcip.script --- a/busybox/stuff/zcip.script Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh - -[ "$1" = "init" ] && exit 0 -[ -n "$ip" ] || exit 1 -case "$1" in -config) ifconfig $interface $ip netmask 255.255.0.0 up - for i in /etc/ipup.d/*; do - [ -e $i ] && . $i $interface $ip - done - ;; -deconfig) ifconfig $interface down - for i in /etc/ipdown.d/*; do - [ -e $i ] && . $i $interface - done - ;; -*) exit 1;; -esac diff -r a0f100f75fb2 -r 7384efde91bf cookutils-daemon/receipt --- a/cookutils-daemon/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="cookutils-daemon" -VERSION="745" -CATEGORY="system-tools" -SHORT_DESC="SliTaz Cooker daemon script for build host." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL3" -WANTED="cookutils" -WEB_SITE="http://www.slitaz.org/" -TAGS="slitaz" - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/etc - cp -a $install/etc/init.d $fs/etc -} diff -r a0f100f75fb2 -r 7384efde91bf cookutils/receipt --- a/cookutils/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="cookutils" -VERSION="745" -CATEGORY="base-system" -SHORT_DESC="SliTaz packages builder new generation." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL3" -TARBALL="$PACKAGE-$VERSION.tar.gz" -WEB_SITE="http://www.slitaz.org/" -WGET_URL="http://hg.slitaz.org/$PACKAGE/archive/$VERSION.tar.gz" -TAGS="slitaz" -HOST_ARCH="i486 arm" - -DEPENDS="" - -# Rules to configure and make the package. -compile_rules() -{ - mkdir -p $DESTDIR/usr/bin $DESTDIR/etc/slitaz - make DESTDIR=$DESTDIR install -} - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs - cp -a $install/* $fs - #Symlink cooker to busybox httpd server root - cd $fs/var/www - ln -s cgi-bin/cooker - # Daemon goes in cookutils-deamon - rm -rf $fs/etc/init.d -} - -# Pre and post install commands for Tazpkg. -post_install() -{ - case "$(cat $1/etc/hostname 2> /dev/null)" in - tank*) - if ! chroot $1/ tazpkg list | grep -q aufs ; then - tazpkg get-install aufs --root=$1/ - sed -i 's/LOAD_MODULES="/&aufs /' $1/etc/rcS.conf - fi ;; - esac -} diff -r a0f100f75fb2 -r 7384efde91bf glib-dev/receipt --- a/glib-dev/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glib-dev" -VERSION="2.36.4" -CATEGORY="development" -SHORT_DESC="C routines devel files and utilities (with Python codegen)." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glib" -WEB_SITE="http://www.gtk.org/" -HOST_ARCH="i486 arm" - -DEPENDS="glib perl python libffi-dev libgio libgio-dev pcre-dev pkg-config" - -case "$ARCH" in - arm) VERSION="2.34.3" ;; -esac - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/usr/lib $fs/usr/bin $fs/usr/share - cp -a $install/usr/lib/*.*a $fs/usr/lib - cp -a $install/usr/lib/pkgconfig $fs/usr/lib - cp -a $install/usr/lib/glib* $fs/usr/lib - cp -a $install/usr/include $fs/usr - cp -a $install/usr/share/aclocal $fs/usr/share - cp -a $install/usr/share/glib-2.0 $fs/usr/share - cp -a $install/usr/share/gdb $fs/usr/share - - # Python codegen, tester, compile, Perl mkenums - if [ -d "$install/usr/lib/gdbus-2.0" ]; then - cp -a $install/usr/lib/gdbus-2.0 $fs/usr/lib - fi - for bin in gdbus-codegen gtester* glib-mkenums - do - cp -a $install/usr/bin/$bin $fs/usr/bin - done - - # Remove libgio-dev - rm -rf $fs/usr/lib/libgio*.*a - rm -rf $fs/usr/include/gio-unix-2.0 - rm $fs/usr/lib/pkgconfig/gio*.pc -} diff -r a0f100f75fb2 -r 7384efde91bf glib/receipt --- a/glib/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glib" -VERSION="2.36.4" -CATEGORY="x-window" -SHORT_DESC="C routines." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -TARBALL="$PACKAGE-$VERSION.tar.xz" -WEB_SITE="http://www.gtk.org/" -WGET_URL="$GNOME_MIRROR/$PACKAGE/${VERSION:0:4}/$TARBALL" -HOST_ARCH="i486 arm" - -CROSS_BUGS="arm: glib 2.32.4 error: cannot compute alignment of guint32" - -DEPENDS="pcre libffi libxml2 elfutils" -BUILD_DEPENDS="pcre-dev libffi-dev gettext zlib-dev perl python python-dev \ -elfutils-dev libxml2-dev libxml2-tools automake" - -# Handle cross comilation. Use host Perl, Python, etc -case "$ARCH" in - arm) - VERSION="2.34.3" - TARBALL="$PACKAGE-$VERSION.tar.xz" - WGET_URL="$GNOME_MIRROR/$PACKAGE/${VERSION:0:4}/$TARBALL" - BUILD_DEPENDS="pcre-dev libffi-dev zlib-dev elfutils-dev libxml2-dev" ;; -esac - -# Rules to configure and make the package. -compile_rules() -{ - case "$ARCH" in - i?86) - ./autogen.sh - ./configure \ - --sysconfdir=/etc \ - --with-pcre=system \ - $CONFIGURE_ARGS ;; - arm) - # Native ARM build --> if ARCH != SLITAZ_ARCH ? - #export LIBTOOL=arm-slitaz-linux-gnueabi-libtool - export LD_LIBRARY_PATH=/cross/arm/sysroot/usr/lib:/usr/lib:/lib - export PKG_CONFIG_LIBPATH=/cross/arm/sysroot/usr/lib/pkgconfig - - # Glib - export glib_cv_stack_grows=${glib_cv_stack_grows=no} - export glib_cv_uscore=${glib_cv_uscore=no} - export ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=no} - export ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=no} - export ac_cv_type_long_long=${ac_cv_type_long_long=yes} - CC="arm-slitaz-linux-gnueabi-gcc" \ - ./configure \ - --sysconfdir=/etc \ - --with-pcre=system \ - --build=i486-slitaz-linux \ - --host=arm-slitaz-linux-gnueabi \ - --enable-shared=yes \ - --enable-static=yes ;; - esac && - make && make install -} - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/usr/lib - cp -a $install/usr/bin $fs/usr - cp -a $install/usr/lib/*.so* $fs/usr/lib - - # Split gio --> libgio - rm $fs/usr/lib/libgio* - - # Python codegen, tester, Perl mkenums --> glib-dev - for bin in gdbus-codegen gtester* glib-mkenums - do - rm $fs/usr/bin/$bin - done - - # Cook packages that want glib. - for w in libgio libgio-dev - do - [ -x "/usr/bin/cook" ] && echo cook $w - done -} diff -r a0f100f75fb2 -r 7384efde91bf glibc-base/receipt --- a/glibc-base/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glibc-base" -VERSION="2.14.1" -CATEGORY="base-system" -SHORT_DESC="GNU libc minimal libraries and UTF-8 support for SliTaz." -WEB_SITE="http://www.gnu.org/software/libc/" -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glibc" -HOST_ARCH="i486 arm x86_64" - -# Locales include by default, other locales are in: locale-** and glibc-locale -DEFAULT_LOCALE="en_US en_GB" - -# Handle multiarch compilation. -case "$ARCH" in - arm*|x86_64) VERSION="2.13" WANTED="" ;; -esac - -# Handle multiarch installation. -case "$SLITAZ_ARCH" in - arm*|x86_64) VERSION="2.13" WANTED="" ;; -esac - -# Rules to gen a SliTaz package suitable for Tazpkg. -# -# Full glibc is very long to compile (see package glibc for more -# informations). You can use the precompiled package available on -# SliTaz mirror to build a distro without recompiling glibc. -# - -# i18n -get_locales() -{ - local path=$1 - for i in $DEFAULT_LOCALE - do - cp $install/$path/i18n/locales/$i $fs/usr/share/i18n/locales - done -} - -genpkg_rules() -{ - # Mkdir's. - for dir in $(cat $stuff/mkdir.list) - do - mkdir -p ${fs}$dir - done - - case "$ARCH" in - arm*) - # Eglibc is cross compiled by cross to have a toolchain so we can - # use these files instead of recooking it. ARM use Eglibc - echo "Using cross compiled Eglibc..." - install=/cross/$ARCH/sysroot - - # /usr/{bin,share} /usr/lib/gconv - for file in $(cat $stuff/arm-files.list) - do - cp -a ${install}$file ${fs}$file - done - - # libs - for lib in libcrypt libm libc libresolv librt libutil libpthread \ - libnss_* libnsl libanl libdl - do - cp -a $install/lib/${lib}-*.so $fs/lib - cp -a $install/lib/${lib}.so* $fs/lib - cp -a $install/usr/lib/${lib}.so $fs/usr/lib - done - cp -a $install/lib/ld-*.so* $fs/lib - cp -a $install/usr/lib/libc_nonshared.a $fs/usr/lib - cp -a $install/usr/lib/libpthread_nonshared.a $fs/usr/lib - cp $install/etc/rpc $fs/etc - touch $fs/etc/ld.so.conf - touch $fs/etc/ld.so.cache - get_locales "usr/share" ;; - x86_64) - # EXPERIMENTAL: Glibc is cross compiled by cross to have a - # toolchain so we can use these files instead of recooking it. - echo "Using cross compiled Glibc..." - install=/usr/cross/$ARCH - - # /usr/{bin,share} /usr/lib/gconv - for file in $(cat $stuff/arm-files.list) - do - cp -a ${install}$file ${fs}/usr/$file - done - - # /lib - for lib in libcrypt libm libc libresolv librt libutil libpthread \ - libnss_* libnsl libanl libdl - do - cp -a $install/lib/${lib}-*.so $fs/lib - cp -a $install/lib/${lib}.so* $fs/lib - done - cp -a $install/lib/ld-*.so* $fs/lib - cp -a $install/lib/libc_nonshared.a $fs/lib - cp -a $install/lib/libpthread_nonshared.a $fs/lib - cp $install/etc/rpc $fs/etc - touch $fs/etc/ld.so.conf - get_locales "share" - # Fix libraries search path - sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libc.so - sed -i s"|/usr/cross/$ARCH||"g $fs/lib/libpthread.so ;; - *) - # Copy all files specified in stuff/files.list. We get the files - # from glibc package. - for file in $(cat $stuff/wanted-files.list) - do - cp -a ${install}$file ${fs}$file - done - get_locales "usr/share" - esac -} - -# Remove an eventual locale-archive since we use directories. -pre_install() -{ - rm -f $root/usr/lib/locale/locale-archive -} - -# Glibc-base is auto-updated in chroot but when cross-compiling we need -# to have /usr/cross/$ARCH search path in libc.so -post_install() -{ - # x86_64 - if echo $root | grep -q /usr/cross/x86_64; then - echo "Fixing x86_64: $root/lib/libc.so" - cat > $root/lib/libc.so << EOT -OUTPUT_FORMAT(elf64-x86-64) -GROUP ( $root/lib/libc.so.6 $root/lib/libc_nonshared.a AS_NEEDED ( $root/lib/ld-linux-x86-64.so.2 ) ) -EOT - fi -} diff -r a0f100f75fb2 -r 7384efde91bf glibc-base/stuff/arm-files.list --- a/glibc-base/stuff/arm-files.list Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/usr/lib/gconv/UNICODE.so -/usr/lib/gconv/gconv-modules -/usr/lib/gconv/ANSI_X3.110.so -/usr/lib/gconv/ISO8859-1.so -/usr/lib/gconv/ISO8859-15.so -/usr/lib/gconv/UTF-16.so -/usr/lib/gconv/CP1252.so -/usr/lib/gconv/IBM437.so -/usr/lib/gconv/IBM850.so - -/usr/bin/locale -/usr/bin/localedef - -/usr/share/locale/locale.alias -/usr/share/i18n/charmaps/UTF-8.gz - -/usr/share/i18n/locales/i18n -/usr/share/i18n/locales/iso14651_t1 -/usr/share/i18n/locales/iso14651_t1_common -/usr/share/i18n/locales/translit_neutral -/usr/share/i18n/locales/translit_combining -/usr/share/i18n/locales/translit_circle -/usr/share/i18n/locales/translit_cjk_compat -/usr/share/i18n/locales/translit_compat -/usr/share/i18n/locales/translit_font -/usr/share/i18n/locales/translit_fraction -/usr/share/i18n/locales/translit_narrow -/usr/share/i18n/locales/translit_small -/usr/share/i18n/locales/translit_wide - -/usr/share/zoneinfo/UTC diff -r a0f100f75fb2 -r 7384efde91bf glibc-base/stuff/i486-files.list --- a/glibc-base/stuff/i486-files.list Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/lib/libutil-2.14.1.so -/lib/libnss_dns-2.14.1.so -/lib/libnsl-2.14.1.so -/lib/libanl-2.14.1.so -/lib/libm-2.14.1.so -/lib/libpthread-2.14.1.so -/lib/libthread_db-1.0.so -/lib/libnss_compat-2.14.1.so -/lib/libc-2.14.1.so -/lib/librt-2.14.1.so -/lib/libcrypt-2.14.1.so -/lib/ld-2.14.1.so -/lib/libresolv-2.14.1.so -/lib/libnss_files-2.14.1.so -/lib/libdl-2.14.1.so - -/usr/lib/gconv/UNICODE.so -/usr/lib/gconv/gconv-modules -/usr/lib/gconv/ANSI_X3.110.so -/usr/lib/gconv/ISO8859-1.so -/usr/lib/gconv/ISO8859-15.so -/usr/lib/gconv/UTF-16.so -/usr/lib/gconv/CP1252.so -/usr/lib/gconv/IBM437.so -/usr/lib/gconv/IBM850.so - -/usr/bin/locale -/usr/bin/localedef - -/usr/share/locale/locale.alias -/usr/share/i18n/charmaps/UTF-8.gz - -/usr/share/i18n/locales/i18n -/usr/share/i18n/locales/iso14651_t1 -/usr/share/i18n/locales/iso14651_t1_common -/usr/share/i18n/locales/translit_neutral -/usr/share/i18n/locales/translit_combining -/usr/share/i18n/locales/translit_circle -/usr/share/i18n/locales/translit_cjk_compat -/usr/share/i18n/locales/translit_compat -/usr/share/i18n/locales/translit_font -/usr/share/i18n/locales/translit_fraction -/usr/share/i18n/locales/translit_narrow -/usr/share/i18n/locales/translit_small -/usr/share/i18n/locales/translit_wide - -/usr/share/zoneinfo/UTC - -/etc/rpc -/etc/ld.so.conf -/etc/ld.so.cache - -/lib/libc.so.6 -/lib/librt.so.1 -/lib/libdl.so.2 -/lib/libanl.so.1 -/lib/libutil.so.1 -/lib/libnss_dns.so.2 -/lib/libnss_compat.so.2 -/lib/libcrypt.so.1 -/lib/libpthread.so.0 -/lib/libthread_db.so.1 -/lib/libm.so.6 -/lib/ld-linux.so.2 -/lib/libresolv.so.2 -/lib/libnsl.so.1 -/lib/libnss_files.so.2 - -/usr/lib/libnss_dns.so -/usr/lib/libnss_files.so -/usr/lib/libcrypt.so -/usr/lib/libnss_compat.so -/usr/lib/libdl.so -/usr/lib/libm.so -/usr/lib/librt.so -/usr/lib/libresolv.so -/usr/lib/libnsl.so -/usr/lib/libutil.so -/usr/lib/libanl.so -/usr/lib/libthread_db.so diff -r a0f100f75fb2 -r 7384efde91bf glibc-base/stuff/mkdir.list --- a/glibc-base/stuff/mkdir.list Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -/etc -/lib -/usr/bin -/usr/lib/gconv -/usr/lib/locale -/usr/share/zoneinfo/America -/usr/share/zoneinfo/Europe -/usr/share/i18n/locales -/usr/share/i18n/charmaps -/usr/share/locale diff -r a0f100f75fb2 -r 7384efde91bf glibc-base/stuff/wanted-files.list --- a/glibc-base/stuff/wanted-files.list Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/lib/libutil-2.14.1.so -/lib/libnss_dns-2.14.1.so -/lib/libnsl-2.14.1.so -/lib/libanl-2.14.1.so -/lib/libm-2.14.1.so -/lib/libpthread-2.14.1.so -/lib/libthread_db-1.0.so -/lib/libnss_compat-2.14.1.so -/lib/libc-2.14.1.so -/lib/librt-2.14.1.so -/lib/libcrypt-2.14.1.so -/lib/ld-2.14.1.so -/lib/libresolv-2.14.1.so -/lib/libnss_files-2.14.1.so -/lib/libdl-2.14.1.so - -/usr/lib/gconv/UNICODE.so -/usr/lib/gconv/gconv-modules -/usr/lib/gconv/ANSI_X3.110.so -/usr/lib/gconv/ISO8859-1.so -/usr/lib/gconv/ISO8859-15.so -/usr/lib/gconv/UTF-16.so -/usr/lib/gconv/CP1252.so -/usr/lib/gconv/IBM437.so -/usr/lib/gconv/IBM850.so - -/usr/bin/locale -/usr/bin/localedef - -/usr/share/locale/locale.alias -/usr/share/i18n/charmaps/UTF-8.gz - -/usr/share/i18n/locales/i18n -/usr/share/i18n/locales/iso14651_t1 -/usr/share/i18n/locales/iso14651_t1_common -/usr/share/i18n/locales/translit_neutral -/usr/share/i18n/locales/translit_combining -/usr/share/i18n/locales/translit_circle -/usr/share/i18n/locales/translit_cjk_compat -/usr/share/i18n/locales/translit_compat -/usr/share/i18n/locales/translit_font -/usr/share/i18n/locales/translit_fraction -/usr/share/i18n/locales/translit_narrow -/usr/share/i18n/locales/translit_small -/usr/share/i18n/locales/translit_wide - -/usr/share/zoneinfo/UTC - -/etc/rpc -/etc/ld.so.conf -/etc/ld.so.cache - -/lib/libc.so.6 -/lib/librt.so.1 -/lib/libdl.so.2 -/lib/libanl.so.1 -/lib/libutil.so.1 -/lib/libnss_dns.so.2 -/lib/libnss_compat.so.2 -/lib/libcrypt.so.1 -/lib/libpthread.so.0 -/lib/libthread_db.so.1 -/lib/libm.so.6 -/lib/ld-linux.so.2 -/lib/libresolv.so.2 -/lib/libnsl.so.1 -/lib/libnss_files.so.2 - -/usr/lib/libnss_dns.so -/usr/lib/libnss_files.so -/usr/lib/libcrypt.so -/usr/lib/libnss_compat.so -/usr/lib/libdl.so -/usr/lib/libm.so -/usr/lib/librt.so -/usr/lib/libresolv.so -/usr/lib/libnsl.so -/usr/lib/libutil.so -/usr/lib/libanl.so -/usr/lib/libthread_db.so diff -r a0f100f75fb2 -r 7384efde91bf glibc-dev/receipt --- a/glibc-dev/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glibc-dev" -VERSION="2.14.1" -CATEGORY="development" -SHORT_DESC="The GNU C libraries devel files (Part of SliTaz toolchain)." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glibc" -WEB_SITE="http://www.gnu.org/software/libc/" - -DEPENDS="glibc-base" - -# Rules to gen a SliTaz package suitable for Tazpkg. -# -# This package is part of the toolchain. We use list to mkdir and cp files. -# -genpkg_rules() -{ - # Mass copy and then remove all files specified in stuff/base-files.list. - # We get the files from glibc-base. Locale files are in: glibc-locale. - cp -a $install/* $fs - - # Rm base files. - echo -n "Removing all base files..." - for file in `cat $WOK/glibc-base/taz/glibc-base-$VERSION/files.list` - do - rm -f ${fs}$file - done - rm -rf $fs/etc - rm -rf $fs/usr/share - status - - # Rm locale. - echo -n "Removing all locale files..." - for file in `cat $WOK/glibc-locale/taz/glibc-locale-$VERSION/files.list` - do - rm -f ${fs}$file - done - rm -rf $fs/usr/lib/gconv - status -} diff -r a0f100f75fb2 -r 7384efde91bf glibc-extra-samba/receipt --- a/glibc-extra-samba/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glibc-extra-samba" -VERSION="2.14.1" -CATEGORY="base-system" -SHORT_DESC="GNU libc extra gconv modules for samba." -WEB_SITE="http://gcc.gnu.org/" -WANTED="glibc" -MAINTAINER="pascal.bellard@slitaz.org" -LICENSE="GPL2" - -# Rules to gen a SliTaz package suitable for Tazpkg. -# -genpkg_rules() -{ - mkdir -p $fs/usr/lib/gconv - for i in IBM850.so IBM437.so; do - cp $install/usr/lib/gconv/$i $fs/usr/lib/gconv/$i - done -} diff -r a0f100f75fb2 -r 7384efde91bf glibc-locale/receipt --- a/glibc-locale/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glibc-locale" -VERSION="2.14.1" -CATEGORY="system-tools" -SHORT_DESC="The GNU C libraries locale files and utilities (see also locale-*)." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glibc" -WEB_SITE="http://www.gnu.org/software/libc/" - -DEPENDS="glibc-base glibc-extra-samba" - -LOCALE_PACK="cs de es fr hu id it pt ru sl zh_CN zh_TW" - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/usr/share $fs/usr/lib $fs/usr/bin - - cp -a $install/usr/lib/gconv $fs/usr/lib - cp -a $install/usr/share/locale $fs/usr/share - cp -a $install/usr/share/i18n $fs/usr/share - cp -a $install/usr/share/zoneinfo $fs/usr/share - - # Utilities and tools - cp -a $install/usr/bin/iconv $fs/usr/bin - cp -a $install/usr/bin/tzselect $fs/usr/bin - - # Rm base files. - echo -n "* Removing all base files..." - for file in `cat $WOK/glibc-base/taz/glibc-base-$VERSION/files.list` - do - rm -f ${fs}$file - done - status - - # Rm glibc-extra-samba files. - echo -n "* Removing extra samba files..." - for file in `cat $WOK/glibc-extra-samba/taz/glibc-extra-samba-$VERSION/files.list` - do - rm -f ${fs}$file - done - status - - # Rm files provided by locale-pack. - for i in $LOCALE_PACK - do - echo -n "* Removing locale: $i" - rm -rf $fs/usr/share/locale/$i - status - done -} diff -r a0f100f75fb2 -r 7384efde91bf glibc/receipt --- a/glibc/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="glibc" -VERSION="2.14.1" -CATEGORY="meta" -SHORT_DESC="The GNU C libraries. This package is used to compile the libc." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -TARBALL="$PACKAGE-$VERSION.tar.gz" -WEB_SITE="http://www.gnu.org/software/libc/" -WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL" - -DEPENDS="glibc-base glibc-locale glibc-dev" -BUILD_DEPENDS="linux-api-headers autoconf bash" - -# Genpkg order for tazwok. -COOK_OPT="genpkg=glibc-base:glibc-extra-samba:glib-locale:glibc-dev" - -# Rules to compile & install the temporary toolchain. -cook_tmp_toolchain() -{ - cd $src - - # Glibc Bug Fixes Patch from LFS - patch -Np1 -i $stuff/glibc-2.14.1-fixes-1.patch - # Glibc Bug Sort Relocatable Objects Patch - patch -Np1 -i $stuff/glibc-2.14.1-sort-1.patch - # Fix a bug that prevents Glibc from building with GCC-4.6.2 - patch -Np1 -i stuff/glibc-2.14.1-gcc_fix-1.patch - - # Build in a separate directory. - mkdir ../glibc-build && cd ../glibc-build - - # glibc no longer support i386, so use -march=i486 for better compatibility. - # If i686 ??? - unset CFLAGS CXXFLAGS - case $ARCH in - i386|i486) - echo "CFLAGS += -O2 -march=i486 -mtune=generic" > configparms ;; - *) - echo "CFLAGS += -O2 -march=$ARCH -mtune=generic" > configparms ;; - esac - - { $src/configure \ - --host=$HOST_SYSTEM \ - --build=$($src/scripts/config.guess) \ - --disable-profile --enable-add-ons \ - --enable-kernel=2.6.30 --with-headers=/tools/include \ - libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes && - make && - make install - } || return 1 - - # Link compiler to this new glibc. - SPECS=`dirname $($HOST_SYSTEM-gcc -print-libgcc-file-name)`/specs - $HOST_SYSTEM-gcc -dumpspecs | sed \ - -e 's@/lib\(64\)\?/ld@/tools&@g' \ - -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS - unset SPECS -} - -# Rules to configure and make the package. -compile_rules() -{ - cd $src - - # SliTaz is a Busybox based OS, why we so small and fast. Using gawk by - # default to build package will not ensure package work with Busybox awk - # and so should NOT be use to cook. - if [ -x /usr/bin/cook ]; then - [ -d "/var/lib/tazpkg/installed/gawk" ] || tazpkg get-install gawk - fi - - # Fixes and patches from LFS, Redhat - sed -i -e 's/"db1"/& \&\& $name ne "nss_test1"/' scripts/test-installation.pl - sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in - - # Glibc misc Bug Fixes - patch -Np1 -i $stuff/glibc-2.14.1-fixes-1.patch - - # Glibc Bug Sort Relocatable Objects Patch - #patch -Np1 -i $stuff/glibc-2.14.1-sort-1.patch - - # Fix a bug that prevents Glibc from building with GCC-4.6.2 - patch -Np1 -i $stuff/glibc-2.14.1-gcc_fix-1.patch - - # Revert commit causing issues with crappy DNS servers - patch -Np1 -i $stuff/glibc-2.14-revert-4768ae77.patch - - # re-export RPC interface until libtirpc is ready as a replacement - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...) - patch -Np1 -i $stuff/glibc-2.14-reexport-rpc-interface.patch - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...) - patch -Np1 -i $stuff/glibc-2.14-reinstall-nis-rpc-headers.patch - - # Fix a stack imbalance that occurs under some conditions: - sed -i '195,213 s/PRIVATE_FUTEX/FUTEX_CLOCK_REALTIME/' \ - nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S \ - nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S - - # Glibc needs ld.so.conf in the install destdir. - mkdir -p $WOK/$PACKAGE/install/etc - touch $WOK/$PACKAGE/install/etc/ld.so.conf - mkdir ../glibc-build && cd ../glibc-build - - # Read the INSTALL file in glibc. Also Glibc dont build with -Os flag. - # --enale-kernel use latest SliTaz Kernel version. From Glibc INSTALL: - # "The higher the VERSION number is, the less compatibility code is - # added, and the faster the code gets." - unset CFLAGS CXXFLAGS - case "$ARCH" in - i386|i486) - echo "CFLAGS += -O2 -march=i486 -mtune=generic" > configparms ;; - *) - echo "CFLAGS += -O2 -march=$ARCH -mtune=generic" > configparms ;; - esac - { $src/configure \ - --disable-profile \ - --enable-add-ons \ - --enable-kernel=2.6.30 \ - --libexecdir=/usr/lib/glibc \ - --build=$HOST_SYSTEM \ - --host=$HOST_SYSTEM \ - --target=$BUILD_SYSTEM && - make && make install_root=$DESTDIR install - } || return 1 - - # If temporary toolchain was previously used, switch to regular toolchain. - [ -d /tools ] || return - mv /tools/bin/ld /tools/bin/ld-old - mv /tools/$(gcc -dumpmachine)/bin/ld /tools/$(gcc -dumpmachine)/bin/ld-old - mv /tools/bin/ld-new /tools/bin/ld - ln -s /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld - gcc -dumpspecs | sed -e 's@/tools@@g' \ - -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \ - -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \ - `dirname $(gcc --print-libgcc-file-name)`/specs -} - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - LOCALE="" - mkdir -p $fs/var - - # Remove build directory. - rm -rf $WOK/$PACKAGE/source/$PACKAGE-build - rm -rf $WOK/$PACKAGE/$PACKAGE-build -} diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.13-gcc_fix-1.patch --- a/glibc/stuff/glibc-2.13-gcc_fix-1.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-18 -Initial Package Version: 2.11.1 -Upstream Status: Not Submitted -Origin: http://www.eglibc.org/archives/patches/msg00073.html -Description: Fixes the following build problem with GCC-4.5.0: - -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os -./sysdeps/i386/fpu/s_frexp.S: Assembler messages: -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1 - -diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 11:34:06.882681001 +0000 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 11:34:06.882681001 +0000 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14-reexport-rpc-interface.patch --- a/glibc/stuff/glibc-2.14-reexport-rpc-interface.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -diff --git a/include/libc-symbols.h b/include/libc-symbols.h -index 67e1ca2..5e7cca5 100644 ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -635,7 +635,7 @@ for linking") - # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) - # define libc_hidden_def(name) hidden_def (name) - # define libc_hidden_weak(name) hidden_weak (name) --# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) -+# define libc_hidden_nolink(name, version) hidden_def (name) - # define libc_hidden_ver(local, name) hidden_ver (local, name) - # define libc_hidden_data_def(name) hidden_data_def (name) - # define libc_hidden_data_weak(name) hidden_data_weak (name) -diff --git a/sunrpc/Makefile b/sunrpc/Makefile -index 5134ce9..40c73d1 100644 ---- a/sunrpc/Makefile -+++ b/sunrpc/Makefile -@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ - des_crypt.h) - headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ - $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h --headers = rpc/netdb.h -+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) - install-others = $(inst_sysconfdir)/rpc - generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ - $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch --- a/glibc/stuff/glibc-2.14-reinstall-nis-rpc-headers.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Tue, 17 May 2011 17:42:30 +0200 -Subject: [PATCH] Reinstall NIS RPC headers - ---- - nis/Makefile | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/nis/Makefile b/nis/Makefile -index b5c9609..d2934d9 100644 ---- a/nis/Makefile -+++ b/nis/Makefile -@@ -23,9 +23,9 @@ subdir := nis - - aux := nis_hash - -+headers := $(wildcard rpcsvc/*.[hx]) - distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ -- nisplus-parser.h nis_xdr.h nss \ -- $(wildcard rpcsvc/*.[hx]) -+ nisplus-parser.h nis_xdr.h nss - - # These are the databases available for the nis (and perhaps later nisplus) - # service. This must be a superset of the services in nss. --- -1.7.5.4 - diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14-revert-4768ae77.patch --- a/glibc/stuff/glibc-2.14-revert-4768ae77.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c ---- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000 -+++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000 -@@ -549,7 +549,7 @@ - ns, ansp, ansp2, nansp2, resplen2); - if (n < 0) - return (-1); -- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) -+ if (n == 0) - goto next_ns; - } else { - /* Use datagrams. */ -@@ -559,7 +559,7 @@ - ansp2, nansp2, resplen2); - if (n < 0) - return (-1); -- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) -+ if (n == 0) - goto next_ns; - if (v_circuit) - // XXX Check whether both requests failed or -@@ -1275,14 +1275,10 @@ - (*thisresplenp > *thisanssizp) - ? *thisanssizp : *thisresplenp); - -- if (recvresp1 || (buf2 != NULL && recvresp2)) { -- *resplen2 = 0; -+ if (recvresp1 || (buf2 != NULL && recvresp2)) - return resplen; -- } - if (buf2 != NULL) - { -- /* No data from the first reply. */ -- resplen = 0; - /* We are waiting for a possible second reply. */ - if (hp->id == anhp->id) - recvresp1 = 1; diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14.1-fixes-1.patch --- a/glibc/stuff/glibc-2.14.1-fixes-1.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -Submitted By: Matt Burgess -Date: 2011-10-07 -Initial Package Version: 2.14.1 -Upstream Status: From upstream -Origin: Matt Burgess -Description: Fixes Firefox crashes and a bug when programs link to - SDL. - -diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c ---- glibc-2.14.1.orig/elf/dl-close.c 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/elf/dl-close.c 2011-10-07 19:43:10.346411120 +0000 -@@ -119,17 +119,8 @@ - if (map->l_direct_opencount > 0 || map->l_type != lt_loaded - || dl_close_state != not_pending) - { -- if (map->l_direct_opencount == 0) -- { -- if (map->l_type == lt_loaded) -- dl_close_state = rerun; -- else if (map->l_type == lt_library) -- { -- struct link_map **oldp = map->l_initfini; -- map->l_initfini = map->l_orig_initfini; -- _dl_scope_free (oldp); -- } -- } -+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) -+ dl_close_state = rerun; - - /* There are still references to this object. Do nothing more. */ - if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) -diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c ---- glibc-2.14.1.orig/elf/dl-deps.c 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/elf/dl-deps.c 2011-10-07 19:43:10.348432639 +0000 -@@ -478,6 +478,7 @@ - nneeded * sizeof needed[0]); - atomic_write_barrier (); - l->l_initfini = l_initfini; -+ l->l_free_initfini = 1; - } - - /* If we have no auxiliary objects just go on to the next map. */ -@@ -678,6 +679,7 @@ - l_initfini[nlist] = NULL; - atomic_write_barrier (); - map->l_initfini = l_initfini; -+ map->l_free_initfini = 1; - if (l_reldeps != NULL) - { - atomic_write_barrier (); -@@ -686,7 +688,7 @@ - _dl_scope_free (old_l_reldeps); - } - if (old_l_initfini != NULL) -- map->l_orig_initfini = old_l_initfini; -+ _dl_scope_free (old_l_initfini); - - if (errno_reason) - _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, -diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c ---- glibc-2.14.1.orig/elf/dl-libc.c 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/elf/dl-libc.c 2011-10-07 19:43:10.352411141 +0000 -@@ -279,6 +279,10 @@ - if (! old->dont_free) - free (old); - } -+ -+ /* Free the initfini dependency list. */ -+ if (l->l_free_initfini) -+ free (l->l_initfini); - } - - if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 -diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c ---- glibc-2.14.1.orig/elf/rtld.c 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/elf/rtld.c 2011-10-07 19:43:10.355406263 +0000 -@@ -2263,6 +2263,7 @@ - lnp->dont_free = 1; - lnp = lnp->next; - } -+ l->l_free_initfini = 0; - - if (l != &GL(dl_rtld_map)) - _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, -diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h ---- glibc-2.14.1.orig/include/link.h 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/include/link.h 2011-10-07 19:43:10.357462703 +0000 -@@ -192,6 +192,9 @@ - during LD_TRACE_PRELINKING=1 - contains any DT_SYMBOLIC - libraries. */ -+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be -+ freed, ie. not allocated with -+ the dummy malloc in ld.so. */ - - /* Collected information about own RPATH directories. */ - struct r_search_path_struct l_rpath_dirs; -@@ -240,9 +243,6 @@ - - /* List of object in order of the init and fini calls. */ - struct link_map **l_initfini; -- /* The init and fini list generated at startup, saved when the -- object is also loaded dynamically. */ -- struct link_map **l_orig_initfini; - - /* List of the dependencies introduced through symbol binding. */ - struct link_map_reldeps -diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c ---- glibc-2.14.1.orig/resolv/res_query.c 2011-10-07 09:48:55.000000000 +0000 -+++ glibc-2.14.1/resolv/res_query.c 2011-10-07 19:43:10.361412711 +0000 -@@ -122,6 +122,7 @@ - int *resplen2) - { - HEADER *hp = (HEADER *) answer; -+ HEADER *hp2; - int n, use_malloc = 0; - u_int oflags = statp->_flags; - -@@ -239,26 +240,25 @@ - /* __libc_res_nsend might have reallocated the buffer. */ - hp = (HEADER *) *answerp; - -- /* We simplify the following tests by assigning HP to HP2. It -- is easy to verify that this is the same as ignoring all -- tests of HP2. */ -- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp; -- -- if (n < (int) sizeof (HEADER) && answerp2 != NULL -- && *resplen2 > (int) sizeof (HEADER)) -+ /* We simplify the following tests by assigning HP to HP2 or -+ vice versa. It is easy to verify that this is the same as -+ ignoring all tests of HP or HP2. */ -+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER)) - { -- /* Special case of partial answer. */ -- assert (hp != hp2); -- hp = hp2; -+ hp2 = hp; - } -- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER) -- && n > (int) sizeof (HEADER)) -+ else - { -- /* Special case of partial answer. */ -- assert (hp != hp2); -- hp2 = hp; -+ hp2 = (HEADER *) *answerp2; -+ if (n < (int) sizeof (HEADER)) -+ { -+ hp = hp2; -+ } - } - -+ /* Make sure both hp and hp2 are defined */ -+ assert((hp != NULL) && (hp2 != NULL)); -+ - if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0) - && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) { - #ifdef DEBUG diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14.1-gcc_fix-1.patch --- a/glibc/stuff/glibc-2.14.1-gcc_fix-1.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-18 -Initial Package Version: 2.11.1 -Upstream Status: Not Submitted -Origin: http://www.eglibc.org/archives/patches/msg00073.html -Description: Fixes the following build problem with GCC-4.5.0: - -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os -./sysdeps/i386/fpu/s_frexp.S: Assembler messages: -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1 - -diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c ---- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 11:34:06.882681001 +0000 -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000 -+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 11:34:06.882681001 +0000 -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff -r a0f100f75fb2 -r 7384efde91bf glibc/stuff/glibc-2.14.1-sort-1.patch --- a/glibc/stuff/glibc-2.14.1-sort-1.patch Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,273 +0,0 @@ -Submitted By: Bruce Dubbs -Date: 2012-02-24 -Initial Package Version: 2.14.1 -Upstream Status: From upstream -Origin: Upstream -Description: Sort objects by dependency before relocation. - Fixes segfault in dlopen for several programs. - -diff --git a/Makeconfig b/Makeconfig -index 2db2821..68547b2 100644 ---- a/Makeconfig -+++ b/Makeconfig -@@ -938,6 +938,12 @@ libdl = - endif - endif - -+ifeq ($(build-shared),yes) -+libm = $(common-objpfx)math/libm.so$(libm.so-version) -+else -+libm = $(common-objpfx)math/libm.a -+endif -+ - # These are the subdirectories containing the library source. The order - # is more or less arbitrary. The sorting step will take care of the - # dependencies. -diff --git a/elf/Makefile b/elf/Makefile -index 052e763..3f1772a 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -124,7 +124,8 @@ distribute := rtld-Rules \ - tst-initordera1.c tst-initordera2.c tst-initorderb1.c \ - tst-initorderb2.c tst-initordera3.c tst-initordera4.c \ - tst-initorder.c \ -- tst-initorder2.c -+ tst-initorder2.c \ -+ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c - - CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables - CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables -@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ - tst-audit1 tst-audit2 \ - tst-stackguard1 tst-addr1 tst-thrlock \ - tst-unique1 tst-unique2 tst-unique3 tst-unique4 \ -- tst-initorder tst-initorder2 -+ tst-initorder tst-initorder2 tst-relsort1 - # reldep9 - test-srcs = tst-pathopt - selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) -@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ - tst-initordera1 tst-initorderb1 \ - tst-initordera2 tst-initorderb2 \ - tst-initordera3 tst-initordera4 \ -- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d -+ tst-initorder2a tst-initorder2b tst-initorder2c \ -+ tst-initorder2d \ -+ tst-relsort1mod1 tst-relsort1mod2 - ifeq (yes,$(have-initfini-array)) - modules-names += tst-array2dep tst-array5dep - endif -@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS) - CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS) - CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS) - endif -+ -+$(objpfx)tst-relsort1: $(libdl) -+$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so -+$(objpfx)tst-relsort1mod2.so: $(libm) -+$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \ -+ $(objpfx)tst-relsort1mod2.so -diff --git a/elf/dl-open.c b/elf/dl-open.c -index a0b5c50..a56bdc1 100644 ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -1,5 +1,5 @@ - /* Load a shared object at runtime, relocate it, and run its initializer. -- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. -+ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -303,45 +303,109 @@ dl_open_worker (void *a) - if (GLRO(dl_lazy)) - reloc_mode |= mode & RTLD_LAZY; - -- /* Relocate the objects loaded. We do this in reverse order so that copy -- relocs of earlier objects overwrite the data written by later objects. */ -- -+ /* Sort the objects by dependency for the relocation process. This -+ allows IFUNC relocations to work and it also means copy -+ relocation of dependencies are if necessary overwritten. */ -+ size_t nmaps = 0; - struct link_map *l = new; -- while (l->l_next) -- l = l->l_next; -- while (1) -+ do -+ { -+ if (! l->l_real->l_relocated) -+ ++nmaps; -+ l = l->l_next; -+ } -+ while (l != NULL); -+ struct link_map *maps[nmaps]; -+ nmaps = 0; -+ l = new; -+ do - { - if (! l->l_real->l_relocated) -+ maps[nmaps++] = l; -+ l = l->l_next; -+ } -+ while (l != NULL); -+ if (nmaps > 1) -+ { -+ char seen[nmaps]; -+ memset (seen, '\0', nmaps); -+ size_t i = 0; -+ while (1) - { --#ifdef SHARED -- if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) -+ ++seen[i]; -+ struct link_map *thisp = maps[i]; -+ -+ /* Find the last object in the list for which the current one is -+ a dependency and move the current object behind the object -+ with the dependency. */ -+ size_t k = nmaps - 1; -+ while (k > i) - { -- /* If this here is the shared object which we want to profile -- make sure the profile is started. We can find out whether -- this is necessary or not by observing the `_dl_profile_map' -- variable. If was NULL but is not NULL afterwars we must -- start the profiling. */ -- struct link_map *old_profile_map = GL(dl_profile_map); -+ struct link_map **runp = maps[k]->l_initfini; -+ if (runp != NULL) -+ /* Look through the dependencies of the object. */ -+ while (*runp != NULL) -+ if (__builtin_expect (*runp++ == thisp, 0)) -+ { -+ /* Move the current object to the back past the last -+ object with it as the dependency. */ -+ memmove (&maps[i], &maps[i + 1], -+ (k - i) * sizeof (maps[0])); -+ maps[k] = thisp; -+ -+ if (seen[i + 1] > 1) -+ { -+ ++i; -+ goto next_clear; -+ } -+ -+ char this_seen = seen[i]; -+ memmove (&seen[i], &seen[i + 1], -+ (k - i) * sizeof (seen[0])); -+ seen[k] = this_seen; -+ -+ goto next; -+ } -+ -+ --k; -+ } - -- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); -+ if (++i == nmaps) -+ break; -+ next_clear: -+ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0])); -+ next:; -+ } -+ } - -- if (old_profile_map == NULL && GL(dl_profile_map) != NULL) -- { -- /* We must prepare the profiling. */ -- _dl_start_profile (); -+ for (size_t i = nmaps; i-- > 0; ) -+ { -+ l = maps[i]; - -- /* Prevent unloading the object. */ -- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; -- } -+#ifdef SHARED -+ if (__builtin_expect (GLRO(dl_profile) != NULL, 0)) -+ { -+ /* If this here is the shared object which we want to profile -+ make sure the profile is started. We can find out whether -+ this is necessary or not by observing the `_dl_profile_map' -+ variable. If it was NULL but is not NULL afterwars we must -+ start the profiling. */ -+ struct link_map *old_profile_map = GL(dl_profile_map); -+ -+ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1); -+ -+ if (old_profile_map == NULL && GL(dl_profile_map) != NULL) -+ { -+ /* We must prepare the profiling. */ -+ _dl_start_profile (); -+ -+ /* Prevent unloading the object. */ -+ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE; - } -- else --#endif -- _dl_relocate_object (l, l->l_scope, reloc_mode, 0); - } -- -- if (l == new) -- break; -- l = l->l_prev; -+ else -+#endif -+ _dl_relocate_object (l, l->l_scope, reloc_mode, 0); - } - - /* If the file is not loaded now as a dependency, add the search -diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c -new file mode 100644 -index 0000000..972100c ---- /dev/null -+++ b/elf/tst-relsort1.c -@@ -0,0 +1,19 @@ -+#include -+#include -+ -+ -+static int -+do_test () -+{ -+ const char lib[] = "$ORIGIN/tst-relsort1mod1.so"; -+ void *h = dlopen (lib, RTLD_NOW); -+ if (h == NULL) -+ { -+ puts (dlerror ()); -+ return 1; -+ } -+ return 0; -+} -+ -+#define TEST_FUNCTION do_test () -+#include "../test-skeleton.c" -diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c -new file mode 100644 -index 0000000..9e4a943 ---- /dev/null -+++ b/elf/tst-relsort1mod1.c -@@ -0,0 +1,7 @@ -+extern int foo (double); -+ -+int -+bar (void) -+{ -+ return foo (1.2); -+} -diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c -new file mode 100644 -index 0000000..a2c3e55 ---- /dev/null -+++ b/elf/tst-relsort1mod2.c -@@ -0,0 +1,7 @@ -+#include -+ -+int -+foo (double d) -+{ -+ return floor (d) != 0.0; -+} --- -1.7.3.4 - diff -r a0f100f75fb2 -r 7384efde91bf libgio-dev/receipt --- a/libgio-dev/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="libgio-dev" -VERSION="2.36.4" -CATEGORY="development" -SHORT_DESC="Glib libgio devel files." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glib" -WEB_SITE="http://www.gtk.org/" -HOST_ARCH="i486 arm" - -DEPENDS="libgio pkg-config" - -case "$ARCH" in - arm) VERSION="2.34.3" ;; -esac - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/usr/lib/pkgconfig $fs/usr/include - cp -a $install/usr/lib/libgio*.*a $fs/usr/lib - cp -a $install/usr/lib/pkgconfig/gio*.pc $fs/usr/lib/pkgconfig - cp -a $install/usr/include/gio-unix-2.0 $fs/usr/include -} diff -r a0f100f75fb2 -r 7384efde91bf libgio/receipt --- a/libgio/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="libgio" -VERSION="2.36.4" -CATEGORY="x-window" -SHORT_DESC="Glib libgio shared library." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL2" -WANTED="glib" -WEB_SITE="http://www.gtk.org/" -HOST_ARCH="i486 arm" - -DEPENDS="glib" - -case "$ARCH" in - arm) VERSION="2.34.3" ;; -esac - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p $fs/usr/lib - cp -a $install/usr/lib/libgio*.so* $fs/usr/lib -} diff -r a0f100f75fb2 -r 7384efde91bf slitaz-base-files/receipt --- a/slitaz-base-files/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="slitaz-base-files" -VERSION="278" -CATEGORY="base-system" -SHORT_DESC="Linux tree and the necessary files for the base system." -MAINTAINER="pankso@slitaz.org" -LICENSE="BSD GPL3" -TARBALL="$PACKAGE-$VERSION.tar.gz" -WEB_SITE="http://www.slitaz.org/" -WGET_URL="http://hg.slitaz.org/$PACKAGE/archive/$VERSION.tar.gz" -HOST_ARCH="i486 arm" - -DEPENDS="gettext-base" - -CONFIG_FILES=" -/etc/adduser.conf -/etc/passwd -/etc/fstab -/etc/issue -/etc/hosts -/etc/host.conf -/etc/hostname -/etc/group -/etc/gshadow -/etc/shadow -/etc/daemons.conf -/etc/nsswitch.conf -/etc/networks -/etc/profile -/etc/securetty -/etc/services -/etc/shells" - -# Rules to configure and make the package. -compile_rules() -{ - make DESTDIR=$DESTDIR install -} - -# Rules to gen a SliTaz package suitable for Tazpkg. -genpkg_rules() -{ - mkdir -p \ - $fs/bin \ - $fs/dev \ - $fs/home \ - $fs/media/cdrom \ - $fs/media/flash \ - $fs/media/usbdisk \ - $fs/mnt \ - $fs/proc \ - $fs/root \ - $fs/run \ - $fs/sbin \ - $fs/sys \ - $fs/tmp \ - $fs/usr/bin \ - $fs/usr/games \ - $fs/usr/lib \ - $fs/usr/sbin \ - $fs/usr/share/doc \ - $fs/var/cache \ - $fs/var/games \ - $fs/var/lib \ - $fs/var/lock \ - $fs/var/log/slitaz \ - $fs/var/spool \ - $fs/var/tmp \ - $fs/var/run - - # Daemons may store the pid files in /var/run - # from 5.0 /var/run is mounted as tmpfs - #ln -s /run $fs/var/run - - # Copy all installed files and set permissions. - cp -a $install/* $fs - - chown -R root.root $fs/* - chmod 1777 $fs/tmp - chmod 640 $fs/etc/shadow - chmod 640 $fs/etc/gshadow - chmod 0750 $fs/root - - # Populate /dev with $fs/sbin/mktazdevs.sh. - $fs/sbin/mktazdevs.sh $fs/dev - - # Create /etc/mtab symlink. - cd $fs/etc - ln -s /proc/mounts mtab - - # Fix httphelper link - cd $fs/usr/lib/slitaz - ln -s httphelper.sh httphelper - - # Update copyright year - grep -rl 'copy; 2' $fs/var/www | xargs \ - sed -i "s/copy; [0-9]*/copy; $(date +%Y)/" -} - -# Pre and post install to backup all /etc/settings -# -pre_install() -{ - local root="$1" - cp -a $root/etc $root/tmp/etc.bak 2>/dev/null - # Remove old /var/run symlink - rm -f $root/var/run -} - -post_install() -{ - local root="$1" - cp -a $root/tmp/etc.bak/* $root/etc 2>/dev/null - rm -rf $root/tmp/etc.bak - - # Reset permission. - chmod 640 $root/etc/shadow - chmod 640 $root/etc/gshadow - - if ! grep -q audio $root/etc/group; then - chroot $root/ /bin/addgroup -g 20 audio - fi -} - -pre_remove() -{ - # We can not remove this package! - exit 1 -} diff -r a0f100f75fb2 -r 7384efde91bf tazpkg/receipt --- a/tazpkg/receipt Tue Jun 23 11:44:57 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -# SliTaz package receipt. - -PACKAGE="tazpkg" -VERSION="814" -CATEGORY="base-system" -SHORT_DESC="SliTaz packages manager." -MAINTAINER="pankso@slitaz.org" -LICENSE="GPL3" -TARBALL="$PACKAGE-$VERSION.tar.gz" -WEB_SITE="http://www.slitaz.org/" -WGET_URL="http://hg.slitaz.org/tazpkg/archive/$VERSION.tar.gz" -TAGS="slitaz package-manager" -HOST_ARCH="i486 arm" - -DEPENDS="busybox gettext-base" -SUGGESTED="tazpanel" -BUILD_DEPENDS="gettext" - -# Gettext is part of cross-chroot -case "$ARCH" in - arm) BUILD_DEPENDS="" ;; -esac - -# Rules to gen a SliTaz package suitable for TazPkg. -# -# Tazpkg is SliTaz packages manager. On an other GNU/Linux install -# can be do with : make install from the sources directory. -# - -# Rules to configure and make the package. -compile_rules() -{ - make && make DESTDIR=$DESTDIR VERSION=$VERSION install -} - -genpkg_rules() -{ - cp -a $install/* $fs - chown -R root.root $fs - - # Default icon for mimetype (freedesktop standard compliant file - # manager will diplay a tazpkg icon for SliTaz packages). - icons="$fs/usr/share/icons/hicolor/32x32/mimetypes" - mkdir -p $icons - ln -s ../apps/tazpkg.png $icons/application-x-tazpkg.png -} - -post_install() -{ - # Apply a fix to config file /etc/slitaz/slitaz.conf - [ -f /etc/slitaz/slitaz.conf ] && \ - sed -i 's/LOCAL_STATE/LOCALSTATE/' /etc/slitaz/slitaz.conf - - # Make sure new config is present - if ! grep -q ^NOTIFY_GEOM "$root/etc/slitaz/tazpkg.conf"; then - cat >> "$root/etc/slitaz/tazpkg.conf" << "EOT" -# The geometry of the desktop notification -NOTIFY_GEOM="360x80-0+24" - -EOT - fi -}