diff options
52 files changed, 347 insertions, 240 deletions
@@ -4,7 +4,6 @@ ## mariodebian \/at\/ gmail \/dot\/ com ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) - all: $(MAKE) -C hex2ascii $(MAKE) -C xmlrpc @@ -102,6 +101,9 @@ install: sed -i 's/__TCOS_DISTRO__/$(DISTRO_VERSION)/g' $(DESTDIR)/var/lib/tcos/version.conf sed -i 's/__DISTRIBUTION__/$(DISTRO)/g' $(DESTDIR)/var/lib/tcos/version.conf sed -i 's/__TCOS_ARCH__/$(TCOS_ARCH)/g' $(DESTDIR)/var/lib/tcos/version.conf + sed -i 's/__TCOS_MULTIARCH__/$(TCOS_MULTIARCH)/g' $(DESTDIR)/var/lib/tcos/version.conf + + install -m 755 bin/gentcos $(DESTDIR)/usr/sbin/ # tcos.conf templates diff --git a/bin/gentcos b/bin/gentcos index 4999489..0ed5416 100755 --- a/bin/gentcos +++ b/bin/gentcos @@ -27,17 +27,22 @@ if [ $ID -ne 0 ]; then exit 1 fi -# Multiarch DIR -LIB_MULTIARCH=/usr/lib/ -[ -e /usr/lib/i386-linux-gnu ] && LIB_MULTIARCH=/usr/lib/i386-linux-gnu/ -[ -e /usr/lib/x86_64-linux-gnu ] && LIB_MULTIARCH=/usr/lib/x86_64-linux-gnu/ -export LIB_MULTIARCH - . /etc/tcos/tcos.conf [ -e /var/lib/tcos/version.conf ] && . /var/lib/tcos/version.conf . ${TCOS_DIR}/tcos-generation-functions.sh . /usr/share/initramfs-tools/hook-functions + +# Multiarch DIR +LIB_MULTIARCH=/lib/ +USRLIB_MULTIARCH=/usr/lib/ +if [ -n "$TCOS_MULTIARCH" ] && [ -e "/usr/lib/$TCOS_MULTIARCH" ]; then + LIB_MULTIARCH="/lib/$TCOS_MULTIARCH" + USRLIB_MULTIARCH="/usr/lib/$TCOS_MULTIARCH" +fi +export LIB_MULTIARCH +export USRLIB_MULTIARCH + for tpl in $(tcos_get_templates); do . $tpl done @@ -114,29 +119,19 @@ _exit () { } call_mkinitramfs() { - rm -rf /tmp/mkinitramfs_* + rm -rf /tmp/mkinitramfs* /tmp/gentcos* /var/tmp/mkinitramfs* NEWINITRAMFS=$1 #echo "mkinitramfs $MKVERBOSE -d ${TCOS_CONF} -o ${NEWINITRAMFS} ${TCOS_KERNEL}" - mkinitramfs $MKVERBOSE -d ${TCOS_CONF} -o ${NEWINITRAMFS} ${TCOS_KERNEL} - - # test for empty initramfs - if [ ! -s ${NEWINITRAMFS} ]; then - # workaround for this change http://bugs.debian.org/514938 - MKDIR=$(echo /tmp/mkinitramfs_*) - echo " Temp initramfs is empty (Debian BUG 514938) rebuilding..." - [ ! -d "${MKDIR}" ] && ( echo " **ERROR** initramfs is empty and no /tmp/mkinitramfs_* dirs found" ; exit 1) - (cd "${MKDIR}" && find . | cpio --quiet --dereference -o -H newc | gzip > "${NEWINITRAMFS}" ) - - # clean mkinitramfs temp files - rm -rf /tmp/mkinitramfs* - fi + mkinitramfs -k $MKVERBOSE -d ${TCOS_CONF} -o ${NEWINITRAMFS} ${TCOS_KERNEL} - # uncompress - DESTDIR2="$(mktemp -t -d gentcos_XXXXXX)" - zcat ${NEWINITRAMFS} > ${DESTDIR2}/initrd - ( cd ${DESTDIR2} && cpio -i < initrd 2>/dev/null ) - rm "${DESTDIR2}/initrd" + DESTDIR2="$(find /var/tmp/ /tmp/ -maxdepth 1 -type d -name "mkinitramfs*")" + #(cd "${MKDIR}" && find . | cpio --quiet --dereference -o -H newc | gzip > "${NEWINITRAMFS}" ) + if [ ! -d "$DESTDIR2/scripts" ]; then + _echo " **ERROR** mkinitramfs temp dir not found" + return + fi + export DESTDIR="${DESTDIR2}" # clean dir bash ${TCOS_DIR}/hooks-addons/clean_initramfs @@ -175,6 +170,7 @@ call_mkinitramfs() { #fi rm -rf "${DESTDIR2}" + rm -rf /tmp/mkinitramfs_* /tmp/gentcos_* /var/tmp/mkinitramfs* } @@ -273,10 +269,9 @@ create_rootfs() { ramdisk_size () { # uncompress initramfs and exec du _echo "Uncompressing ramdisk to get sizes..." - tmpdir=/tmp/gentcos-$$ - mkdir ${tmpdir} + tmpdir="$(mktemp -t -d gentcos_XXXXXX)" cp ${INITRAMFS} ${tmpdir}/initrd.gz - gunzip ${tmpdir}/initrd.gz + gunzip ${tmpdir}/initrd.gz || return oldpwd=$(pwd) cd ${tmpdir}/ cpio -i < initrd >/dev/null 2>&1 @@ -466,14 +461,10 @@ check_modules() { if [ "$(echo $_module | awk -F "|" '{print $2}')" != "" ]; then for _mod in $(echo $_module | sed 's/|/ /g'); do #_echo "searching for module $_mod" - have_one_module=$(modprobe --set-version="${TCOS_KERNEL}" -l ${_mod} | wc -l) - if [ ${have_one_module} != 0 ]; then - #_echo "have $_mod !!!" - have_module=1 - fi + tcos_find_module "${_mod}" && have_module=1 done else - have_module=$(modprobe --set-version="${TCOS_KERNEL}" -l ${_module} | wc -l) + tcos_find_module "${_module}" && have_module=1 fi if [ ${have_module} = 0 ] ; then diff --git a/bin/get_xauth b/bin/get_xauth index 0856f19..f0f6dd8 100755 --- a/bin/get_xauth +++ b/bin/get_xauth @@ -25,7 +25,8 @@ export DISPLAY=:0 user=$(/usr/lib/tcos/tcos-last --user 2>/dev/null) home=$(getent passwd ${user} | head -1 | awk -F":" '{print $6}') if [ "$user" = "root" ]; then echo -n "error: root not allowed"; exit 1; fi -if [ -e "${home}/.Xauthority" ]; then +# test if file exists and not empty +if [ -s "${home}/.Xauthority" ]; then XAUTHORITY=$home/.Xauthority else XAUTHORITY=$(find /tmp/ -name ".gdm*" -user ${user} 2>/dev/null | head -1) diff --git a/bin/tcos-buildchroot b/bin/tcos-buildchroot index 3afc892..8d6450c 100755 --- a/bin/tcos-buildchroot +++ b/bin/tcos-buildchroot @@ -179,13 +179,13 @@ chrootcreate() { --divert /usr/sbin/invoke-rc.d.original \ /usr/sbin/invoke-rc.d - # avoid calling udevadm inside chroot - # http://bugs.debian.org/627790 - chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ - --add --rename --quiet \ - --divert /sbin/udevadm.original \ - /sbin/udevadm - createEmptyCMD /sbin/udevadm +# # avoid calling udevadm inside chroot +# # http://bugs.debian.org/627790 +# chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ +# --add --rename --quiet \ +# --divert /sbin/udevadm.original \ +# /sbin/udevadm +# createEmptyCMD /sbin/udevadm cat << EOF > ${TCOS_CHROOT}/etc/apt/apt.conf @@ -282,23 +282,24 @@ cat /etc/resolv.conf > ${TCOS_CHROOT}/etc/resolv.conf [ ! -e ${TCOS_CHROOT}/sbin/start-stop-daemon ] && createEmptyCMD /sbin/start-stop-daemon [ ! -e ${TCOS_CHROOT}/usr/sbin/invoke-rc.d ] && createEmptyCMD /usr/sbin/invoke-rc.d -if [ ! -e /sbin/udevadm.original ]; then - chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ - --add --rename --quiet \ - --divert /sbin/udevadm.original \ - /sbin/udevadm - createEmptyCMD /sbin/udevadm -fi +#if [ ! -e /sbin/udevadm.original ]; then +# chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ +# --add --rename --quiet \ +# --divert /sbin/udevadm.original \ +# /sbin/udevadm +# createEmptyCMD /sbin/udevadm +#fi } chrootexit() { -if [ -e ${TCOS_CHROOT}/sbin/udevadm.original ]; then - rm -f ${TCOS_CHROOT}/sbin/udevadm - chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ - --remove --rename --quiet \ - --divert /sbin/udevadm.original \ - /sbin/udevadm -fi +return +#if [ -e ${TCOS_CHROOT}/sbin/udevadm.original ]; then +# rm -f ${TCOS_CHROOT}/sbin/udevadm +# chroot ${TCOS_CHROOT} dpkg-divert --package initramfs-tools-tcos \ +# --remove --rename --quiet \ +# --divert /sbin/udevadm.original \ +# /sbin/udevadm +#fi } chrootupdate() { @@ -313,9 +314,14 @@ if [ -e /etc/console-setup/boottime.kmap.gz ]; then mkdir -p ${TCOS_CHROOT}/etc/console-setup cp /etc/console-setup/boottime.kmap.gz ${TCOS_CHROOT}/etc/console-setup/ fi -if [ -e /etc/console-setup/cached.kmap.gz ]; then +if [ -e /etc/console-setup/cached*.kmap.gz ]; then + mkdir -p ${TCOS_CHROOT}/etc/console-setup + cp /etc/console-setup/cached*.kmap.gz ${TCOS_CHROOT}/etc/console-setup/ +fi + +if [ -e /etc/console-setup/cached_UTF-8_del.kmap.gz ]; then mkdir -p ${TCOS_CHROOT}/etc/console-setup - cp /etc/console-setup/cached.kmap.gz ${TCOS_CHROOT}/etc/console-setup/ + cp /etc/console-setup/cached_UTF-8_del.kmap.gz ${TCOS_CHROOT}/etc/console-setup/ fi cat << EOC | chroot ${TCOS_CHROOT} @@ -2,6 +2,8 @@ PACKAGE=tcos +# uncomment for verbose build +#V=1 MAKE:=make -B GCC:=gcc @@ -46,7 +48,7 @@ DISTRO_VERSION=$(shell dpkg-parsechangelog -l../debian/changelog | awk '/^Distri endif TCOS_ARCH:=$(shell dpkg-architecture | awk -F"=" '/^DEB_BUILD_ARCH=/ {print $$2}') - +TCOS_MULTIARCH:=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) @@ -77,6 +79,7 @@ test: @echo PACKAGE=$(PACKAGE) @echo @echo TCOS_ARCH=$(TCOS_ARCH) + @echo TCOS_MULTIARCH=$(TCOS_MULTIARCH) @echo @echo PREFIX=$(PREFIX) @echo DESTDIR=$(DESTDIR) @@ -92,5 +95,10 @@ test: @echo @echo DISTRO=$(DISTRO) @echo DISTRO_VERSION=$(DISTRO_VERSION) + @echo + @echo CFLAGS=$(CFLAGS) + @echo LDFLAGS=$(LDFLAGS) + @echo CPPFLAGS=$(CPPFLAGS) + @echo CXXFLAGS=$(CXXFLAGS) @echo "------------------------------------" diff --git a/conf/tcos-generation-functions.sh b/conf/tcos-generation-functions.sh index 7b6e7a5..a719008 100644 --- a/conf/tcos-generation-functions.sh +++ b/conf/tcos-generation-functions.sh @@ -158,13 +158,13 @@ cpifexists () { if [ -f $DESTDIR/$orig ]; then return 1 fi - - + + if [ $# != 2 ]; then echo " cpifexists(): ERROR: Need 2 arguments: \$1=$orig \$2=$dest" return 1 fi - + if [ ! -f $orig ]; then echo " cpifexits() WARNING: $orig not found, searching with pathof()..." _file=$(pathof $(basename $orig) ) @@ -177,10 +177,10 @@ cpifexists () { else echo " cpifexists(): ERROR: $(basename $orig) no found in PATH, please package that contain $orig" return 1 - fi + fi fi - + if [ ! -d $DESTDIR/$dest ]; then echo " cpifexits() WARNING: $DESTDIR/$dest don't exists" fi @@ -201,7 +201,7 @@ copydir () { #_echo " DEBUG: \$1=$1 \$2=$2" return 1 fi - + #_echo "cp -ra \"${1}\" \"${DESTDIR}/${2}\"" cp -ra "${1}" "${DESTDIR}/${2}" return 0 @@ -247,6 +247,17 @@ force_add_module() { # end of force copy } +tcos_find_module() { + mod=$(find /lib/modules/${TCOS_KERNEL} -name ${1}.ko | tail -1) + if [ "$mod" = "" ] ; then + return 1 + fi + if [ "$(basename $mod .ko)" = "$1" ]; then + return 0 + fi + return 1 +} + parse_pxelinuxcfg() { if [ $TCOS_NETBOOT_MENU ] && [ -z $2 ]; then TEMPLATE=${TCOS_CONF}/${TCOS_PXECFG_MENU} diff --git a/conf/tcos-run-functions.sh b/conf/tcos-run-functions.sh index 7bcd8a7..4e79180 100644 --- a/conf/tcos-run-functions.sh +++ b/conf/tcos-run-functions.sh @@ -103,6 +103,17 @@ _log () { /bin/logger -t "$(echo $1| awk '{print $1}')" "$@" >> /tmp/initramfs.debug 2>&1 } +tcos_find_module() { + mod=$(find /lib/modules/${version} -name ${1}.ko | tail -1) + if [ "$mod" = "" ] ; then + return 1 + fi + if [ "$(basename $mod .ko)" = "$1" ]; then + return 0 + fi + return 1 +} + read_server() { # $1 is server hostname nSERVER=$(grep "$1" /etc/hosts | awk '{print $1}' | head -1) diff --git a/conf/version.conf b/conf/version.conf index ba40955..50f020f 100644 --- a/conf/version.conf +++ b/conf/version.conf @@ -3,4 +3,5 @@ TCOS_VERSION="__TCOS_VERSION__" TCOS_DISTRO="__TCOS_DISTRO__" TCOS_ARCH="__TCOS_ARCH__" +TCOS_MULTIARCH="__TCOS_MULTIARCH__" DISTRIBUTION="__DISTRIBUTION__" diff --git a/debian/changelog b/debian/changelog index 6ea2f4d..333c393 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,42 @@ +tcos (0.89.93) unstable; urgency=low + + * Bump standards version to 3.9.4, no changes needed + * Fix debian/copyright format + (lintian: unversioned copyright format uri) + * Read fgets() result + * Use build var TCOS_MULTIARCH + * Use mkinitramfs temp dir instead of initramfs file to + avoid [intel|amd]-microcode in initrd.gz + * Enable hardening build + * Multiarch fixes + * Use mke2fs for ext3 and ext4 + * Fix nvidia clean + * Check for DESTDIR/scripts dir before cleaning + * Read fgets() result in tnc/tcos-net-controller.c + * Use mktemp file in squash creation log file + + -- Mario Izquierdo (mariodebian) <mariodebian@gmail.com> Thu, 10 Oct 2013 16:29:03 +0200 + +tcos (0.89.92) unstable; urgency=low + + * Fix some multiarch and console-setup issues + * Use ~/.Xauthority only if not empty + * Replace fuse-utils with fuse package in Recommends, (closes: #698181) + * Remove depends on python-eggtrayicon, (closes: #702105) + * Remove -I/usr/lib in Makefiles, (closes: #722844) + * Save multiarch during build + + -- Mario Izquierdo (mariodebian) <mariodebian@gmail.com> Mon, 07 Oct 2013 15:22:53 +0200 + +tcos (0.89.91) unstable; urgency=low + + * Disable udevadm divert, fail on old versions + * Fix pulseaudio parse version + * Fix some multiarch libs, fix modprobe list (closes: #694870), + * Use glx-alternative mesa instead of fix-nvidia-ati + + -- Mario Izquierdo (mariodebian) <mariodebian@gmail.com> Wed, 02 Jan 2013 22:28:39 +0100 + tcos (0.89.90) unstable; urgency=low * debian/initramfs-tools-tcos.postrm: diff --git a/debian/control b/debian/control index 6c1c2b3..c8a9f20 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Build-Depends: debhelper (>= 7.0.50~), pkg-config, libasound2-dev, libglib2.0-dev -Standards-Version: 3.9.2 +Standards-Version: 3.9.4 Vcs-Git: http://tcosproject.org/git/tcos.git Vcs-Browser: http://tcosproject.org/cgit/tcos.git/ Homepage: http://www.tcosproject.org @@ -87,7 +87,6 @@ Depends: tcos-core (>= 0.88.0), openssl, gksu, python, - python-eggtrayicon | python-gnome2-extras, python-gtk2, python-glade2, ${python:Depends}, ${misc:Depends}, ${shlibs:Depends} @@ -110,7 +109,7 @@ Recommends: tcos-configurator, dnsmasq | tcos-tftp-dhcp, tcosmonitor, tcosconfig, ltspfs, - fuse-utils, + fuse, pulseaudio-esound-compat | esound Description: Base package for install a TCOS (Thin client) server This is a system for generating thin client hosts using initramfs. diff --git a/debian/copyright b/debian/copyright index 19ca344..d2a3592 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,4 +1,4 @@ -Format: http://dep.debian.net/deps/dep5 +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: tcos Upstream-Contact: Mario Izquierdo (mariodebian) <mariodebian@gmail.com> Source: http://tcosproject.org/cgit/tcos.git diff --git a/debian/initramfs-tools-tcos.postrm b/debian/initramfs-tools-tcos.postrm index 7ea2d8e..9ce6cde 100644 --- a/debian/initramfs-tools-tcos.postrm +++ b/debian/initramfs-tools-tcos.postrm @@ -12,7 +12,6 @@ case "$1" in rm -rf /var/lib/tcos/tftp rm -rf /var/lib/tcos/fs-* rm -rf /var/cache/tcos - rm -rf /srv/tftp/tcos rm -rf /var/lib/tftpboot/tcos rmdir --ignore-fail-on-non-empty /var/lib/tftpboot || true diff --git a/debian/rules b/debian/rules index 790e9d2..2789619 100755 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,12 @@ #!/usr/bin/make -f +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk +CFLAGS+=$(CPPFLAGS) %: dh $@ --with python2 +test: + make test diff --git a/hex2ascii/Makefile b/hex2ascii/Makefile index d3ff893..cadb3c4 100644 --- a/hex2ascii/Makefile +++ b/hex2ascii/Makefile @@ -3,7 +3,7 @@ all: hex2ascii include ../common.mk hex2ascii: - $(QUIET_CC)$(GCC) hex2ascii.c -o hex2ascii $(CFLAGS) -Wall -ansi -pedantic + $(QUIET_CC)$(GCC) hex2ascii.c -o hex2ascii $(CFLAGS) $(LDFLAGS) -Wall -ansi -pedantic clean: $(QUIET_CL)rm -f hex2ascii diff --git a/hooks-addons/00main b/hooks-addons/00main index 7605fa8..9344c9e 100644 --- a/hooks-addons/00main +++ b/hooks-addons/00main @@ -47,7 +47,7 @@ cpifexists ${TCOS_BINS}/get_filesystem /bin # limits cpifexists ${TCOS_BINS}/set-limits /bin -# exec and daemonize +# exec and daemonize cpifexists ${TCOS_BINS}/daemonize.sh /sbin # tcos-pam-usb.sh (tcosxmlrpc helper) @@ -84,7 +84,7 @@ fi -# exec and daemonize +# exec and daemonize cpifexists ${TCOS_BINS}/clear-logs /bin if [ "${TCOS_INCLUDE_INIT}" != "1" ]; then @@ -105,8 +105,8 @@ fi # multiarch support mkdir -p $DESTDIR/etc/ld.so.conf.d/ -[ -f /etc/ld.so.conf.d/i486-linux-gnu.conf ] && cpifexists /etc/ld.so.conf.d/i486-linux-gnu.conf /etc/ld.so.conf.d/ -[ -f /etc/ld.so.conf.d/x86_64-linux-gnu.conf ] && cpifexists /etc/ld.so.conf.d/x86_64-linux-gnu.conf /etc/ld.so.conf.d/ +MULTIARCH=$(basename $LIB_MULTIARCH) +[ -f "/etc/ld.so.conf.d/${MULTIARCH}.conf" ] && cpifexists "/etc/ld.so.conf.d/${MULTIARCH}.conf" /etc/ld.so.conf.d/ cpifexists /sbin/depmod /sbin/ cpifexists /etc/localtime /etc/ @@ -115,27 +115,28 @@ cpifexists /etc/securetty /etc cpifexists /etc/services /etc/ # create (if not exists) empty modules file -touch $DESTDIR/etc/modules +touch $DESTDIR/etc/modules mkdir -p $DESTDIR/usr/lib +mkdir -p $DESTDIR/${USRLIB_MULTIARCH} $DESTDIR/${LIB_MULTIARCH} # multiarch support -LIB_DIR=/lib -[ -e /lib/x86_64-linux-gnu/libresolv.so.2 ] && LIB_DIR=/lib/x86_64-linux-gnu -[ -e /lib/i386-linux-gnu/libresolv.so.2 ] && LIB_DIR=/lib/i386-linux-gnu +LIB_DIR=/lib/ +[ -e $LIB_MULTIARCH/libresolv.so.2 ] && LIB_DIR=$LIB_MULTIARCH -cpifexists ${LIB_DIR}/libresolv.so.2 /lib/ -cpifexists /usr/${LIB_DIR}/libgssapi_krb5.so.2 /usr/lib/ + +cpifexists ${LIB_DIR}/libresolv.so.2 ${LIB_DIR}/ +cpifexists ${USRLIB_MULTIARCH}/libgssapi_krb5.so.2 ${USRLIB_MULTIARCH}/ # need to copy this libs to support usernames with busybox -cpifexists ${LIB_DIR}/libnss_compat.so.2 /lib/ -cpifexists ${LIB_DIR}/libnss_files.so.2 /lib/ -cpifexists ${LIB_DIR}/libnss_nis.so.2 /lib/ -cpifexists ${LIB_DIR}/libnss_dns.so.2 /lib/ +cpifexists ${LIB_DIR}/libnss_compat.so.2 ${LIB_DIR}/ +cpifexists ${LIB_DIR}/libnss_files.so.2 ${LIB_DIR}/ +cpifexists ${LIB_DIR}/libnss_nis.so.2 ${LIB_DIR}/ +cpifexists ${LIB_DIR}/libnss_dns.so.2 ${LIB_DIR}/ [ -e ${LIB_DIR}/libnss_db.so.2 ] && cpifexists ${LIB_DIR}/libnss_db.so.2 /usr/lib/ # new lib (needed for DNS calls) [ -e /lib/libnss_mdns4_minimal.so.2 ] && cpifexists /lib/libnss_mdns4_minimal.so.2 /lib/ - +[ -e ${LIB_DIR}/libnss_mdns4_minimal.so.2 ] && cpifexists ${LIB_DIR}/libnss_mdns4_minimal.so.2 ${LIB_DIR}/ # needed for NFS diff --git a/hooks-addons/04debug b/hooks-addons/04debug index c734da9..b4ca2bb 100644 --- a/hooks-addons/04debug +++ b/hooks-addons/04debug @@ -20,7 +20,7 @@ else [ -e /usr/bin/strace ] && cpifexists /usr/bin/strace /usr/bin/ cpifexists /sbin/mkfs /sbin/ cpifexists /sbin/mkfs.vfat /sbin/ - cpifexists /sbin/mkfs.ext3 /sbin/ + cpifexists /sbin/mke2fs /sbin/ stat_after "Debug tools" @@ -37,7 +37,7 @@ if [ ! -e \${file} ]; then echo "\${file} not found" exit 1 fi -[ -e /lib/ld-linux.so.2 ] && /lib/ld-linux.so.2 --list \$file -[ -e /lib64/ld-linux-x86-64.so.2 ] && /lib64/ld-linux-x86-64.so.2 --list \$file + +`ldd /sbin/mkfs | awk '/ld-linux/{print $1}'` --list \$file EOF chmod +x $DESTDIR/bin/ldd diff --git a/hooks-addons/05compcache b/hooks-addons/05compcache index 586cc6a..fc12230 100644 --- a/hooks-addons/05compcache +++ b/hooks-addons/05compcache @@ -35,6 +35,9 @@ fi quiet=n +. /conf/tcos.conf +. /conf/tcos-run-functions + # find total amount of available ram TOTAL_RAM=\$(grep MemTotal /proc/meminfo |tr -d ': [A-Z][a-z]') @@ -52,13 +55,13 @@ if [ "\${kbytes}" -gt "\${AVALAIBLE_RAM}" ]; then fi -if modprobe --list zram | grep -q zram; then - modprobe zram num_devices=1 +if tcos_find_module "zram"; then + modprobe zram echo \$((1024*\$kbytes)) > /sys/block/zram0/disksize /sbin/mkswap /dev/zram0 >/dev/null 2>&1 /sbin/swapon -p 100 /dev/zram0 >/dev/null 2>&1 else - modprobe -q --ignore-install ramzswap disksize_kb="\$kbytes" + modprobe -q --ignore-install ramzswap fi EOF diff --git a/hooks-addons/13kbmap b/hooks-addons/13kbmap index 7880383..7a85c79 100644 --- a/hooks-addons/13kbmap +++ b/hooks-addons/13kbmap @@ -13,19 +13,25 @@ else if [ -f /etc/console/boottime.kmap.gz ]; then mkdir -p $DESTDIR/etc/console - cp -ra /etc/console/boottime.kmap.gz $DESTDIR/etc/console + cp -ra /etc/console/boottime.kmap.gz $DESTDIR/etc/console/ fi # for ubuntu if [ -f /etc/console-setup/boottime.kmap.gz ]; then mkdir -p $DESTDIR/etc/console - cp -ra /etc/console-setup/boottime.kmap.gz $DESTDIR/etc/console + cp -ra /etc/console-setup/boottime.kmap.gz $DESTDIR/etc/console/ fi # for new console-setup if [ -f /etc/console-setup/cached.kmap.gz ]; then mkdir -p $DESTDIR/etc/console-setup - cp -ra /etc/console-setup/cached.kmap.gz $DESTDIR/etc/console-setup + cp -ra /etc/console-setup/cached.kmap.gz $DESTDIR/etc/console-setup/cached.kmap.gz + fi + + # for new console-setup + if [ -f /etc/console-setup/cached_UTF-8_del.kmap.gz ]; then + mkdir -p $DESTDIR/etc/console-setup + cp -ra /etc/console-setup/cached_UTF-8_del.kmap.gz $DESTDIR/etc/console-setup/cached.kmap.gz fi fi diff --git a/hooks-addons/20alsa b/hooks-addons/20alsa index b7e321b..4c79d3c 100644 --- a/hooks-addons/20alsa +++ b/hooks-addons/20alsa @@ -7,10 +7,10 @@ if [ ! $TCOS_SOUND ]; then else stat_before - + # TCOS MIXER (include ALSA and OSS support) cpifexists ${TCOS_BINS}/tmixer /usr/bin/ - + mkdir -p $DESTDIR/usr/share/ copydir /usr/share/alsa/ /usr/share/ @@ -26,7 +26,7 @@ else mkdir -p $DESTDIR/etc/init.d/ [ -e /etc/init.d/alsa-utils ] && cpifexists /etc/init.d/alsa-utils /etc/init.d/ - + if [ -d /etc/alsa ]; then copydir /etc/alsa/ /etc/ fi @@ -50,20 +50,24 @@ else fi - mkdir -p ${DESTDIR}/usr/lib/alsa-lib/ - [ -e /usr/lib/alsa-lib/libasound_module_pcm_pulse.so ] && \ - cpifexists /usr/lib/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/alsa-lib/ - [ -e /usr/lib/alsa-lib/libasound_module_ctl_pulse.so ] && \ - cpifexists /usr/lib/alsa-lib/libasound_module_ctl_pulse.so /usr/lib/alsa-lib/ - # new in Ubuntu?? - [ -e /usr/lib/alsa-lib/libasound_module_conf_pulse.so ] && \ - cpifexists /usr/lib/alsa-lib/libasound_module_conf_pulse.so /usr/lib/alsa-lib/ - [ -e /usr/lib/alsa-lib/libasound_module_pcm_alsa_dsp.so ] && \ - cpifexists /usr/lib/alsa-lib/libasound_module_pcm_alsa_dsp.so /usr/lib/alsa-lib/ + ALSA_LIB_DIR=/usr/lib/alsa-lib/ + [ -d $USRLIB_MULTIARCH/alsa-lib ] && ALSA_LIB_DIR=$USRLIB_MULTIARCH/alsa-lib + + _verbose "(20alsa) alsa-lib=$ALSA_LIB_DIR" + + mkdir -p ${DESTDIR}/$ALSA_LIB_DIR + [ -e $ALSA_LIB_DIR/libasound_module_pcm_pulse.so ] && \ + cpifexists $ALSA_LIB_DIR/libasound_module_pcm_pulse.so $ALSA_LIB_DIR + + [ -e $ALSA_LIB_DIR/libasound_module_ctl_pulse.so ] && \ + cpifexists $ALSA_LIB_DIR/libasound_module_ctl_pulse.so $ALSA_LIB_DIR + [ -e $ALSA_LIB_DIR/libasound_module_conf_pulse.so ] && \ + cpifexists $ALSA_LIB_DIR/libasound_module_conf_pulse.so $ALSA_LIB_DIR + [ -e $ALSA_LIB_DIR/libasound_module_pcm_alsa_dsp.so ] && \ + cpifexists $ALSA_LIB_DIR/libasound_module_pcm_alsa_dsp.so $ALSA_LIB_DIR - stat_after "Alsa sound support" fi # end of TCOS_SOUND diff --git a/hooks-addons/40etc2300 b/hooks-addons/40etc2300 index 84775f3..a43c8b4 100644 --- a/hooks-addons/40etc2300 +++ b/hooks-addons/40etc2300 @@ -32,9 +32,9 @@ EOF chmod +x ${DESTDIR}/scripts/tcos-bottom/15etc2300 stat_before - + manual_add_modules sis5513 - if modprobe --set-version="${TCOS_KERNEL}" -l| grep -q snd-sis7019 ; then + if ! tcos_find_module "snd-sis7019" ; then manual_add_modules ac97_codec manual_add_modules sis7019 else diff --git a/hooks-addons/50xorg b/hooks-addons/50xorg index b99b9aa..7a178b2 100644 --- a/hooks-addons/50xorg +++ b/hooks-addons/50xorg @@ -159,8 +159,10 @@ done rm -f $DESTDIR/usr/lib/xorg/modules/extensions/libglx.so* rm -f $DESTDIR/usr/lib/xorg/modules/libwfb.so rm -f $DESTDIR/usr/lib/xorg/modules/libnvidia-wfb.so.* -rm -rf $DESTDIR/usr/lib/xorg/modules/extensions/libGLcore.so -rm -rf $DESTDIR/usr/lib/libnvidia-* +rm -f $DESTDIR/usr/lib/xorg/modules/extensions/libGLcore.so +rm -f $DESTDIR/usr/lib/libnvidia-* +rm -f ${DESTDIR}/etc/modprobe.d/nvidia* + # for multiarch rm -rf $DESTDIR/usr/lib/*/libnvidia-* @@ -172,9 +174,11 @@ if [ -e /usr/lib/mesa/libGL.so.1 ]; then LIBGL_PATH=/usr/lib/mesa/ fi +MULTIARCH=$(basename $LIB_MULTIARCH) # multiarch support -[ -e $LIB_MULTIARCH/libGL.so.1 ] && LIBGL_PATH=$LIB_MULTIARCH -[ -e $LIB_MULTIARCH/mesa/libGL.so.1 ] && LIBGL_PATH=$LIB_MULTIARCH/mesa/ +[ -e $USRLIB_MULTIARCH/libGL.so.1 ] && LIBGL_PATH=$USRLIB_MULTIARCH +[ -e $USRLIB_MULTIARCH/mesa/libGL.so.1 ] && LIBGL_PATH=$USRLIB_MULTIARCH/mesa/ +[ -e "/usr/lib/mesa-diverted/$MULTIARCH/libGL.so.1" ] && LIBGL_PATH="/usr/lib/mesa-diverted/$MULTIARCH/" # delete vnc extension rm -f $DESTDIR/usr/lib/xorg/modules/extensions/libvnc.so diff --git a/hooks-addons/51dri b/hooks-addons/51dri index 5a60abb..f15fc1a 100644 --- a/hooks-addons/51dri +++ b/hooks-addons/51dri @@ -10,7 +10,7 @@ #TCOS_XORG_DRI_MATROX= DRI_DIR=/usr/lib/dri/ -[ -d $LIB_MULTIARCH/dri ] && DRI_DIR=$LIB_MULTIARCH/dri/ +[ -d $USRLIB_MULTIARCH/dri ] && DRI_DIR=$USRLIB_MULTIARCH/dri/ mkdir -p ${DESTDIR}/${DRI_DIR} diff --git a/hooks-addons/70tcosmonitor b/hooks-addons/70tcosmonitor index fa179cb..831a205 100644 --- a/hooks-addons/70tcosmonitor +++ b/hooks-addons/70tcosmonitor @@ -11,11 +11,16 @@ copy_exec /usr/bin/eject /usr/bin/ # SCROT package copy_exec /usr/bin/scrot /usr/bin/ -mkdir -p $DESTDIR/usr/lib/imlib2/filters/ -mkdir -p $DESTDIR/usr/lib/imlib2/loaders/ -cpifexists /usr/lib/imlib2/loaders/png.so /usr/lib/imlib2/loaders/ -cpifexists /usr/lib/imlib2/loaders/jpeg.so /usr/lib/imlib2/loaders/ -#cpifexists /usr/lib/imlib2/loaders/gif.so /usr/lib/imlib2/loaders/ + +IMLIB_DIR=/usr/lib/imlib2/loaders/ +[ -d $USRLIB_MULTIARCH/imlib2/loaders ] && IMLIB_DIR=$USRLIB_MULTIARCH/imlib2/loaders +#/usr/lib/x86_64-linux-gnu/imlib2/loaders/png.so + + +mkdir -p $DESTDIR/$IMLIB_DIR +cpifexists $IMLIB_DIR/png.so $IMLIB_DIR/ +cpifexists $IMLIB_DIR/jpeg.so $IMLIB_DIR/ + # screenshot script and webserver cpifexists ${TCOS_BINS}/screenshot.sh /sbin/ diff --git a/hooks-addons/clean_initramfs b/hooks-addons/clean_initramfs index 9d10fc4..b8154e1 100755 --- a/hooks-addons/clean_initramfs +++ b/hooks-addons/clean_initramfs @@ -7,7 +7,7 @@ _verbose "(clean_initramfs) Cleaning initramfs..." -if [ "${DESTDIR}" = "" ] || [ "$DESTDIR" = "/" ]; then +if [ "${DESTDIR}" = "" ] || [ "$DESTDIR" = "/" ] || [ ! -d "$DESTDIR/scripts" ]; then _echo " * ERROR: DESTDIR var not set. not cleaning initramfs..." exit 1 fi @@ -116,6 +116,9 @@ create_link /usr/lib/xorg/modules/drivers/i810_drv.so /usr/lib/xorg/modules/driv create_link /usr/share/X11/xkb/rules/evdev.lst /usr/share/X11/xkb/rules/base.lst +create_link /sbin/mke2fs /sbin/mkfs.ext3 +create_link /sbin/mke2fs /sbin/mkfs.ext4 + #( cd $DESTDIR/bin && rm -f zcat ; ln -s gunzip zcat ) if [ -d $DESTDIR/lib/cmds ]; then ( cd $DESTDIR/lib/cmds && rm -f poweroff && ln -s reboot poweroff ) @@ -163,7 +166,7 @@ fi if [ "$TCOS_DISABLE_USPLASH" = "1" ]; then - _echo " * Remove usplash" + #_echo " * Remove usplash" rm -f ${DESTDIR}/lib/usplash 2>/dev/null rm -f ${DESTDIR}/sbin/usplash 2>/dev/null rm -f ${DESTDIR}/sbin/usplash_write 2>/dev/null diff --git a/hooks/tcosbin b/hooks/tcosbin index 556fe07..a7550ff 100755 --- a/hooks/tcosbin +++ b/hooks/tcosbin @@ -72,6 +72,14 @@ done # we search links delete them and put file instead convert_links2files +# multiarch clean +#tree "${DESTDIR}/usr/lib/" +# if [ -d "${DESTDIR}/usr/lib/$TCOS_MULTIARCH" ]; then +# _verbose "(tcosbin) Moving all multiarch ($TCOS_MULTIARCH) to /usr/lib/" +# mv "${DESTDIR}/usr/lib/$TCOS_MULTIARCH/"* "${DESTDIR}/usr/lib/" +# rmdir "${DESTDIR}/usr/lib/$TCOS_MULTIARCH/" +# #tree "${DESTDIR}/usr/lib/" +# fi # read from env vars TCOS_BOOT TCOS_ENV_DISABLE_SQUASHFS=$(env| awk -F "=" '/^TCOS_ENV_DISABLE_SQUASHFS=/ {print $2}') @@ -92,18 +100,19 @@ if [ -z $TCOS_DISABLE_SQUASHFS ]; then fi SQUASHFS_FILE="usr${TCOS_SUFFIX}-${version}.squashfs" _echo " Creating ${SQUASHFS_FILE} of /usr" + mksquashfs_log="$(mktemp -t gentcos-mksquashfs_XXXXXX)" mkdir -p $DESTDIR/mnt/tmp - $MKSQUASHFS $DESTDIR/usr/ $DESTDIR/mnt/tmp/${SQUASHFS_FILE} > /tmp/tcos-mksquashfs.log 2>&1 + $MKSQUASHFS $DESTDIR/usr/ $DESTDIR/mnt/tmp/${SQUASHFS_FILE} > $mksquashfs_log 2>&1 # check for mksquashfs errors if [ $? != 0 ]; then _echo " ERROR:" _echo " mksquashfs error" _echo "#############################################" - cat /tmp/tcos-mksquashfs.log + cat $mksquashfs_log _echo "#############################################" fi - rm -f /tmp/tcos-mksquashfs.log + rm -f $mksquashfs_log # mksquashfs create files with 700 rights, change to 644 chmod 644 $DESTDIR/mnt/tmp/${SQUASHFS_FILE} @@ -192,6 +201,15 @@ if [ -d $DESTDIR/usr/lib/i686 ]; then fi # end of /usr/lib/i686 dir exists +# multiarch clean +#tree "${DESTDIR}/lib/" +# if [ -d "${DESTDIR}/lib/$TCOS_MULTIARCH" ]; then +# _verbose "(tcosbin) Moving all multiarch ($TCOS_MULTIARCH) to /lib/" +# mv "${DESTDIR}/lib/$TCOS_MULTIARCH/"* "${DESTDIR}/lib/" +# rmdir "${DESTDIR}/lib/$TCOS_MULTIARCH/" +# #tree "${DESTDIR}/lib/" +# fi + if [ $TCOS_DISABLE_ACPI ]; then stat_before rm -rf $DESTDIR/lib/modules/*/drivers/md/ diff --git a/hooks/tcosmods b/hooks/tcosmods index a01aa31..01bc0d5 100755 --- a/hooks/tcosmods +++ b/hooks/tcosmods @@ -92,18 +92,14 @@ TCOS_DISABLE_IDE=$(read_env_var "TCOS_DISABLE_IDE" "$TCOS_DISABLE_IDE") # put floppy outside /lib/modules mkdir -p $DESTDIR/lib/extramodules - FLOPPY_MOD=$(modprobe --set-version="${TCOS_KERNEL}" --list "floppy" 2>/dev/null) - FLOPPY_IDE_MOD=$(modprobe --set-version="${TCOS_KERNEL}" --list "ide-floppy") - # new modprobe versions return relative PATH - if [ ! -e "${FLOPPY_MOD}" ] && [ "${FLOPPY_MOD}" != "" ] && [ -e "/lib/modules/${TCOS_KERNEL}/${FLOPPY_MOD}" ]; then - FLOPPY_MOD="/lib/modules/${TCOS_KERNEL}/${FLOPPY_MOD}" - fi - if [ ! -e "${FLOPPY_IDE_MOD}" ] && [ "${FLOPPY_IDE_MOD}" != "" ] && [ -e "/lib/modules/${TCOS_KERNEL}/${FLOPPY_IDE_MOD}" ]; then - FLOPPY_IDE_MOD="/lib/modules/${TCOS_KERNEL}/${FLOPPY_IDE_MOD}" + if tcos_find_module "floppy"; then + FLOPPY_MOD=$(find /lib/modules/${TCOS_KERNEL} -name floppy.ko | tail -1) + fi + if tcos_find_module "ide-floppy"; then + FLOPPY_IDE_MOD=$(find /lib/modules/${TCOS_KERNEL} -name ide-floppy.ko | tail -1) fi - if [ "${FLOPPY_MOD}" != "" ]; then # don't use cpifexists @@ -166,15 +162,8 @@ TCOS_DISABLE_IDE=$(read_env_var "TCOS_DISABLE_IDE" "$TCOS_DISABLE_IDE") if [ "$TCOS_CPUFREQ" = "1" ]; then - # modprobe -l| grep cpufreq_| awk -F"/" '{print $NF}'| sed -e 's/.ko//g' - CPUFREQ_MODS=$(modprobe --set-version="${TCOS_KERNEL}" --list 2>/dev/null| awk -F"/" '/cpufreq_/ {print $NF}'| sed -e s/".ko"//g) - CPUFREQ_CPU_MODS=$(modprobe --set-version="${TCOS_KERNEL}" --list 2>/dev/null| awk -F"/" '/cpu\/cpufreq/ {print $NF}' | sed -e s/".ko"//g) - _echo " TCOS adding CPUFREQ modules" - for _mod in $CPUFREQ_MODS; do - tcos_manual_add_modules $_mod - done - for _mod in $CPUFREQ_CPU_MODS; do - tcos_manual_add_modules $_mod + for _mod in $(find /lib/modules/${TCOS_KERNEL} | grep cpufreq| grep ko$); do + tcos_manual_add_modules $(basename $_mod .ko) done fi diff --git a/lockscreen/Makefile b/lockscreen/Makefile index 225ae94..d763b5e 100644 --- a/lockscreen/Makefile +++ b/lockscreen/Makefile @@ -10,12 +10,16 @@ LOCKVLC_SOURCES = lockvlc.c WAITFORX_SOURCES = waitforX.c GXD=get-xdg-desktop GXD_SOURCES=get-xdg-desktop.c -GXD_OPTS=-O2 -ansi -pedantic -Wall $(shell pkg-config --cflags --libs glib-2.0) -LIBS= -I/usr/lib + +GXD_OPTS=$(CFLAGS) $(LDFLAGS) -ansi -pedantic -Wall $(shell pkg-config --cflags --libs glib-2.0) + LOCKLIBS+=$(shell pkg-config --libs imlib2) CFLAGS+=$(shell pkg-config --cflags imlib2) -LDADD+=-O2 -ansi -pedantic -Wall -lXaw $(LIBS) $(CFLAGS) -lX11 -lXext -lXt -LDADD_WAITFORX+=-O2 -ansi -pedantic -Wall -lX11 $(LIBS) + +LDADD+=$(LDFLAGS) -ansi -pedantic -Wall -lXaw $(CFLAGS) -lX11 -lXext -lXt + +LDADD_WAITFORX+=$(LDFLAGS) -ansi -pedantic -Wall -lX11 + CC=gcc diff --git a/scripts/tcos-top/01busybox b/scripts/tcos-top/01busybox index 5d94043..796c606 100755 --- a/scripts/tcos-top/01busybox +++ b/scripts/tcos-top/01busybox @@ -1,5 +1,5 @@ #!/bin/sh -# +# if [ "$1" = "prereqs" ]; then exit 0 fi @@ -14,14 +14,14 @@ quiet=n # set kernel very silent if grep -q quiet /proc/cmdline ; then - echo "1 1 1 7" > /proc/sys/kernel/printk + echo "1 1 1 7" > /proc/sys/kernel/printk dmesg -n 1 fi # start syslogd (busybox embeded) killall syslogd 2>/dev/null -syslogd 2>/dev/null +syslogd 2>/dev/null if [ $? != 0 ]; then # create a fuck logger @@ -80,7 +80,7 @@ else modprobe -q aufs >> /tmp/initramfs.debug 2>&1 & else _log "BUSYBOX load unionfs module and if fail try aufs" - modprobe unionfs || modprobe aufs >> /tmp/initramfs.debug 2>&1 & + modprobe -q unionfs || modprobe -q aufs >> /tmp/initramfs.debug 2>&1 & fi fi diff --git a/tmixer/Makefile b/tmixer/Makefile index af24315..bf45f4d 100644 --- a/tmixer/Makefile +++ b/tmixer/Makefile @@ -1,7 +1,7 @@ DEBUGCFLAGS += -g -O2 -Wall CFLAGS += -g -O2 -Wall TVERSION = -DTCOS_VERSION="\"$(VERSION)\"" -LDADD += -lasound -lm +LDADD += $(LDFLAGS) -lasound -lm bin_PROGRAMS = tmixer TMIXER_SOURCES= tmixer-alsa.c tmixer-oss.c CC=gcc diff --git a/tnc/Makefile b/tnc/Makefile index e479b59..d94ff12 100644 --- a/tnc/Makefile +++ b/tnc/Makefile @@ -1,7 +1,7 @@ TNC = tnc SOURCE = tcos-net-controller.c -LIBS= -I/usr/lib -LDADD = -O2 -ansi -pedantic -Wall $(LIBS) $(CFLAGS) +#LIBS= -I/usr/lib +LDADD += $(LDFLAGS) -ansi -pedantic -Wall $(LIBS) $(CFLAGS) GCC=gcc all: $(TNC) @@ -10,7 +10,7 @@ include ../common.mk $(TNC): - $(QUIET_CC)$(CC) $(SOURCE) $(LDADD) -o $(TNC) + $(QUIET_CC)$(CC) $(SOURCE) $(CFLAGS) $(LDADD) -o $(TNC) debug: $(CC) $(SOURCE) $(LDADD) -o $(TNC) -DDEVNULL="\"\"" -DDEBUG diff --git a/tnc/tcos-net-controller.c b/tnc/tcos-net-controller.c index e408e3b..7fcc893 100644 --- a/tnc/tcos-net-controller.c +++ b/tnc/tcos-net-controller.c @@ -46,6 +46,8 @@ #define DEVNULL "2>/dev/null" #endif +#define UNUSED(x) ((void)(x)) + void create_route(struct rtentry *p, char **args); char *strncpy( char *to, const char *from, size_t count ); @@ -229,13 +231,15 @@ status_iptables_user(char *args) { FILE *fp; char cmd[BSIZE]; char line[BSIZE]; + char *fret; + UNUSED(fret); /* iptables rules with tcos argument, allow not remove other rules. */ sprintf( cmd, "%s -L OUTPUT --line-numbers -n %s | grep TCOS_TNC | awk 'BEGIN{count=0}{if ($(NF-3) == %d || $(NF-3) == \"%s\") count++}END{print count}'", IPTABLES, DEVNULL, (int)get_uid(args), args); #ifdef DEBUG debug("status_iptables_user() %s\n",cmd); #endif if ((fp=(FILE*)popen(cmd, "r")) != NULL) { - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); pclose(fp); if ( line[strlen(line)-1] == '\n' ) line[strlen(line)-1] = 0; @@ -258,6 +262,9 @@ flush_iptables_user(char *arg1, char *arg2) { char *delim = " "; char **tokens = NULL; + char *fret; + UNUSED(fret); + if ( (i = status_iptables_user(arg1)) == 0) return(1); @@ -274,7 +281,7 @@ flush_iptables_user(char *arg1, char *arg2) { free(substring); if ((fp=(FILE*)popen(cmd, "r")) != NULL) { - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); pclose(fp); if( line[strlen(line)-1] == '\n' ) line[strlen(line)-1] = 0; @@ -310,6 +317,9 @@ add_iptables_user(char **args) { char *delim = ","; char **tokens = NULL; + char *fret; + UNUSED(fret); + /* Delete rules that already exists for user*/ flush_iptables_user(args[5], args[2]); @@ -320,7 +330,7 @@ add_iptables_user(char **args) { debug("add_iptables_user() dired cmd=%s\n",cmd); #endif if ((fp=(FILE*)popen(cmd, "r")) != NULL) { - (void)fgets( dirred, sizeof dirred, fp); + fret=fgets( dirred, sizeof dirred, fp); pclose(fp); if( dirred[strlen(dirred)-1] == '\n' ) dirred[strlen(dirred)-1] = 0; diff --git a/udev/Makefile b/udev/Makefile index 48fa49e..60f0c30 100644 --- a/udev/Makefile +++ b/udev/Makefile @@ -4,7 +4,7 @@ include ../common.mk mount-listener: - $(QUIET_CC)$(GCC) -Wall -O2 -o mount-listener mount_listener.c + $(QUIET_CC)$(GCC) -Wall $(CFLAGS) $(LDFLAGS) -o mount-listener mount_listener.c install: diff --git a/xmlrpc/Makefile b/xmlrpc/Makefile index 0920ab0..b3d0f00 100644 --- a/xmlrpc/Makefile +++ b/xmlrpc/Makefile @@ -92,7 +92,7 @@ $(STANDALONE): $(MAKE) cleanobjs $(TCOSPASSWD): - $(QUIET_CC)$(GCC) $(DEFINES) $(CFLAGS) -o $(TCOSPASSWD) $(TCOSPASSWD).c -lcrypt + $(QUIET_CC)$(GCC) $(DEFINES) $(CFLAGS) $(LDFLAGS) -o $(TCOSPASSWD) $(TCOSPASSWD).c -lcrypt diff --git a/xmlrpc/common.c b/xmlrpc/common.c index 2df02bc..c654591 100644 --- a/xmlrpc/common.c +++ b/xmlrpc/common.c @@ -100,7 +100,8 @@ unsigned char *readfile(const char *name, size_t *len) { FILE *f; unsigned char *buf; - /*size_t fret;*/ + size_t fret; + UNUSED(fret); f = fopen(name, "rb"); if (f == NULL) @@ -116,7 +117,7 @@ unsigned char *readfile(const char *name, size_t *len) return NULL; } - (void)fread(buf, 1, *len, f); + fret=fread(buf, 1, *len, f); fclose(f); return buf; diff --git a/xmlrpc/common.h b/xmlrpc/common.h index a191cad..55ceedd 100644 --- a/xmlrpc/common.h +++ b/xmlrpc/common.h @@ -37,6 +37,7 @@ /* for split function */ #define MAXTOKENS 256 +#define UNUSED(x) ((void)(x)) typedef struct ip_address { int data[4] ; diff --git a/xmlrpc/config.c b/xmlrpc/config.c index 8b2e281..f0b62c8 100644 --- a/xmlrpc/config.c +++ b/xmlrpc/config.c @@ -44,7 +44,9 @@ xmlrpc_value *tcos_config(xmlrpc_env *env, xmlrpc_value *in, void *ud) int xauth_ok; struct ip_address ip; char ip_string[BSIZE]; - /*char *fret;*/ + + char *fret; + UNUSED(fret); dbgtcos("tcosxmlrpc::tcos_config() Init \n"); @@ -55,7 +57,7 @@ xmlrpc_value *tcos_config(xmlrpc_env *env, xmlrpc_value *in, void *ud) gethostname(hostname,BSIZE); fp=(FILE*)popen(MY_IP_ADDRESS, "r"); - (void)fgets( ip_string, sizeof ip_string, fp); + fret=fgets( ip_string, sizeof ip_string, fp); remove_line_break(ip_string); pclose(fp); @@ -88,7 +90,7 @@ xmlrpc_value *tcos_config(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put -1 into line var */ strncpy(line, CONFIG_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/devices.c b/xmlrpc/devices.c index 540daea..3e45192 100644 --- a/xmlrpc/devices.c +++ b/xmlrpc/devices.c @@ -38,7 +38,8 @@ xmlrpc_value *tcos_devices(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *cookie; char *hostname; int xauth_ok; - /*char *fret;*/ + char *fret; + UNUSED(fret); dbgtcos("tcosxmlrpc::tcos_devices() Init \n"); @@ -72,7 +73,7 @@ xmlrpc_value *tcos_devices(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error msg into line var */ strncpy(line, DEVICES_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); dbgtcos("tcosxmlrpc::tcos_devices(%s) = %s \n", mycmd, line); diff --git a/xmlrpc/dpms.c b/xmlrpc/dpms.c index 755c15f..c27061d 100644 --- a/xmlrpc/dpms.c +++ b/xmlrpc/dpms.c @@ -40,7 +40,8 @@ xmlrpc_value *tcos_dpms(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *pass; char *login_ok; char cmd[BIG_BUFFER]; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ @@ -73,7 +74,7 @@ xmlrpc_value *tcos_dpms(xmlrpc_env *env, xmlrpc_value *in, void *ud) strncpy(line, DPMS_CMD_ERROR, BIG_BUFFER); fp=(FILE*)popen(cmd, "r"); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/info.c b/xmlrpc/info.c index 19a1eef..c273987 100644 --- a/xmlrpc/info.c +++ b/xmlrpc/info.c @@ -32,7 +32,8 @@ xmlrpc_value *tcos_info(xmlrpc_env *env, xmlrpc_value *in, void *ud) char line[BIG_BUFFER]; char *info; size_t *len; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ xmlrpc_parse_value(env, in, "(s#)", &info, &len); @@ -122,7 +123,7 @@ xmlrpc_value *tcos_info(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error into line var */ strncpy(line, INFO_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/pam-usb.c b/xmlrpc/pam-usb.c index ad4a89d..057d1ab 100644 --- a/xmlrpc/pam-usb.c +++ b/xmlrpc/pam-usb.c @@ -39,7 +39,8 @@ xmlrpc_value *tcos_pam_usb(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *cookie; char *hostname; int xauth_ok; - /*char *fret;*/ + char *fret; + UNUSED(fret); unsigned char *buf, *e; size_t len, elen;/*, fwret;*/ @@ -121,7 +122,7 @@ xmlrpc_value *tcos_pam_usb(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error msg into line var */ strncpy(line, PAM_USB_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); dbgtcos("tcosxmlrpc::tcos_pam_usb(%s) = %s \n", mycmd, line); diff --git a/xmlrpc/pci.c b/xmlrpc/pci.c index 5f24ec9..d6703c8 100644 --- a/xmlrpc/pci.c +++ b/xmlrpc/pci.c @@ -36,7 +36,8 @@ xmlrpc_value *tcos_pci(xmlrpc_env *env, xmlrpc_value *in, void *ud) char allpci[BSIZE]; char pci_cmd[BSIZE]; size_t *len; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* put error msg into line var */ strncpy(line, PCI_ERROR, BSIZE); @@ -61,7 +62,7 @@ xmlrpc_value *tcos_pci(xmlrpc_env *env, xmlrpc_value *in, void *ud) if (fp == NULL) return xmlrpc_build_value(env, "s", PCI_FP_ERROR ); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); dbgtcos("tcosxmlrpc::tcos_pci() line=\"%s\"\n", line); @@ -73,7 +74,7 @@ xmlrpc_value *tcos_pci(xmlrpc_env *env, xmlrpc_value *in, void *ud) { /* read all PCI ids and store in allpci */ fp=(FILE*)popen(PCI_ALL, "r"); - (void)fgets( allpci, sizeof allpci, fp); + fret=fgets( allpci, sizeof allpci, fp); remove_line_break(line); pclose(fp); /* search pci in allpci */ @@ -90,7 +91,7 @@ xmlrpc_value *tcos_pci(xmlrpc_env *env, xmlrpc_value *in, void *ud) dbgtcos("tcosxmlrpc::tcos_pci() pci_cmd=\"%s\"\n", pci_cmd); fp=(FILE*)popen(pci_cmd, "r"); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); return xmlrpc_build_value(env, "s", line ); diff --git a/xmlrpc/reboot_poweroff.c b/xmlrpc/reboot_poweroff.c index ea61b13..fe72335 100644 --- a/xmlrpc/reboot_poweroff.c +++ b/xmlrpc/reboot_poweroff.c @@ -43,7 +43,8 @@ xmlrpc_value *tcos_reboot_poweroff(xmlrpc_env *env, xmlrpc_value *in, void *ud) struct ip_address ip; char ip_string[BSIZE]; char cmd[BIG_BUFFER]; - /*char *fret;*/ + char *fret; + UNUSED(fret); dbgtcos("tcosxmlrpc::tcos_reboot_poweroff() Init \n"); @@ -54,7 +55,7 @@ xmlrpc_value *tcos_reboot_poweroff(xmlrpc_env *env, xmlrpc_value *in, void *ud) gethostname(hostname,BSIZE); fp=(FILE*)popen(MY_IP_ADDRESS, "r"); - (void)fgets( ip_string, sizeof ip_string, fp); + fret=fgets( ip_string, sizeof ip_string, fp); remove_line_break(ip_string); pclose(fp); diff --git a/xmlrpc/rtp.c b/xmlrpc/rtp.c index 8d0bc4b..03b0497 100644 --- a/xmlrpc/rtp.c +++ b/xmlrpc/rtp.c @@ -39,7 +39,8 @@ xmlrpc_value *tcos_rtp(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *pass; char *login_ok; char cmd[BIG_BUFFER]; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ @@ -70,7 +71,7 @@ xmlrpc_value *tcos_rtp(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error in line */ strncpy(line, RTP_ERROR, BIG_BUFFER); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); dbgtcos("tcosxmlrpc::tcos_rtp() line=\"%s\"\n", line); diff --git a/xmlrpc/sh/rtp-controller.sh b/xmlrpc/sh/rtp-controller.sh index 9a39fa8..52e85f0 100644 --- a/xmlrpc/sh/rtp-controller.sh +++ b/xmlrpc/sh/rtp-controller.sh @@ -118,8 +118,8 @@ set_mute_mic() { $MIXER sset 'Capture,3' nocap >/dev/null 2>&1 } - -version=$(pactl --version 2>/dev/null | awk '{print $2}' | awk -F"." '{if ((int($2) >= 9) && (int($3) >= 10)) printf "yes"}') +# version must be > 0.9.10 or 1.0 +version=$(pulseaudio --version 2>/dev/null | awk '{print $2}' | awk -F"." '{if ((int($2) >= 9) && (int($3) >= 10) || (int($1)>=1)) printf "yes"}') for arg in $1; do case $arg in diff --git a/xmlrpc/sh/screenshot.sh b/xmlrpc/sh/screenshot.sh index 78f61ea..8de810f 100644 --- a/xmlrpc/sh/screenshot.sh +++ b/xmlrpc/sh/screenshot.sh @@ -30,18 +30,8 @@ if [ -e /conf/tcos-run-functions ]; then export XAUTHORITY=/root/.Xauthority else _www=/var/lib/tcos/standalone/www - #user=$(w | awk '{ if ($3 == ":0" || $2 == ":0") print $1 }') - user=$(/usr/lib/tcos/tcos-last --user 2>/dev/null) - home=$(getent passwd ${user} | head -1 | awk -F":" '{print $6}') - if [ "$user" = "root" ]; then echo -n "error: root not allowed"; exit 1; fi - if [ -e "${home}/.Xauthority" ]; then - export XAUTHORITY=$home/.Xauthority - else - XAUTHORITY=$(find /tmp/ -name ".gdm*" -user ${user} 2>/dev/null | head -1) - [ -z $XAUTHORITY ] && XAUTHORITY=$(xauth info 2>/dev/null | awk '/^Authority/ {print $3}') - [ -z $XAUTHORITY -o "$XAUTHORITY" = "/root/.Xauthority" ] && XAUTHORITY="$(find /var/run/gdm*/ -name auth-for-* -user ${user} 2>/dev/null | head -1)/database" - export XAUTHORITY - fi + export XAUTHORITY=$(get_xauth) + export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/lib/tcos beepoff="xset b off" beepon="xset b on" @@ -61,30 +51,6 @@ cd $_www $($beepoff) scrot 'capture.jpg' -t $_thumb_size $($beepon) -# new Base64 getscreenshot don't need html files -exit 0 - -_files=$(ls *jpg) - - -cat << EOF > $_www/index.html -<html> -<head> -<title>Screenshots</title> -</head> -<body> -<H1>Screenshots of $(hostname),<br>take on $(date)</H1> -<br><br> -EOF -for _file in $_files; do - echo "<a href=\"$_file\">$_file</a><br>" >> $_www/index.html -done - -cat << EOF >> $_www/index.html -</body> -</html> -EOF - -echo -n "ok" exit 0 + diff --git a/xmlrpc/simple-methods.c b/xmlrpc/simple-methods.c index 9fd20af..4468c42 100644 --- a/xmlrpc/simple-methods.c +++ b/xmlrpc/simple-methods.c @@ -59,7 +59,8 @@ xmlrpc_value *tcos_status (xmlrpc_env *env, xmlrpc_value *in, void *user_data) char *app=NULL; char cmd[BUFF_SIZE]; char ret[BUFF_SIZE]; - /*int fret;*/ + int fret; + UNUSED(fret); dbgtcos("tcosxmlrpc::tcos_status() Init \n"); @@ -81,7 +82,7 @@ xmlrpc_value *tcos_status (xmlrpc_env *env, xmlrpc_value *in, void *user_data) } dbgtcos("tcosxmlrpc::tcos_status() reading from fp pointer\n"); - (void)fscanf(fp, "%s", ret); + fret=fscanf(fp, "%s", ret); dbgtcos( "tcosxmlrpc::tcos_status() ret value=%s\n", ret); pclose(fp); diff --git a/xmlrpc/sound.c b/xmlrpc/sound.c index 3ae3025..f614b0b 100644 --- a/xmlrpc/sound.c +++ b/xmlrpc/sound.c @@ -44,7 +44,8 @@ xmlrpc_value *tcos_sound(xmlrpc_env *env, xmlrpc_value *in, void *ud) int xauth_ok; struct ip_address ip; char ip_string[BSIZE]; - /*char *fret;*/ + char *fret; + UNUSED(fret); dbgtcos("tcosxmlrpc::tcos_sound() Init \n"); @@ -55,7 +56,7 @@ xmlrpc_value *tcos_sound(xmlrpc_env *env, xmlrpc_value *in, void *ud) gethostname(hostname,BSIZE); fp=(FILE*)popen(MY_IP_ADDRESS, "r"); - (void)fgets( ip_string, sizeof ip_string, fp); + fret=fgets( ip_string, sizeof ip_string, fp); remove_line_break(ip_string); pclose(fp); @@ -88,7 +89,7 @@ xmlrpc_value *tcos_sound(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error msg into line var */ strncpy(line, SOUND_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/standalone.c b/xmlrpc/standalone.c index df75770..d13ca0b 100644 --- a/xmlrpc/standalone.c +++ b/xmlrpc/standalone.c @@ -35,7 +35,8 @@ xmlrpc_value *tcos_standalone(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *info; char *group; size_t *len; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ xmlrpc_parse_value(env, in, "(ss#)", &info, &group, &len); @@ -73,7 +74,7 @@ xmlrpc_value *tcos_standalone(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error into line */ strncpy(line, STANDALONE_ERROR, BIG_BUFFER); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); @@ -96,7 +97,8 @@ xmlrpc_value *tcos_dbus(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *user; char *pass; char *login_ok; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what dbus search */ xmlrpc_parse_value(env, in, "(sss)", &dbus, &user, &pass); @@ -121,7 +123,7 @@ xmlrpc_value *tcos_dbus(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error into line var */ strncpy(line, DBUS_ERROR, BIG_BUFFER); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/tnc.c b/xmlrpc/tnc.c index 1008bc0..113f22b 100644 --- a/xmlrpc/tnc.c +++ b/xmlrpc/tnc.c @@ -41,7 +41,8 @@ xmlrpc_value *tcos_tnc(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *pass; char *login_ok; char cmd[BIG_BUFFER]; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ @@ -59,7 +60,7 @@ xmlrpc_value *tcos_tnc(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* prepare action */ if( strcmp(action, "disable-internet" ) == 0 ) { if ((fp=(FILE*)popen(NETWORK_IFACE, "r")) != NULL) { - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); sprintf( cmd , "%s %s %s %s %s %s", TNC_CONTROLLER, action, onlyports, ports, line, username); @@ -76,7 +77,7 @@ xmlrpc_value *tcos_tnc(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error in line */ strncpy(line, TNC_ERROR, BIG_BUFFER); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); diff --git a/xmlrpc/validate-tcos.c b/xmlrpc/validate-tcos.c index 90b4e98..05f5c69 100644 --- a/xmlrpc/validate-tcos.c +++ b/xmlrpc/validate-tcos.c @@ -48,7 +48,9 @@ char *validate_tcos(char *user, char *pass) char line[BSIZE]; char **tokens = NULL; int i=0; - /*char *fret;*/ + char *fret; + UNUSED(fret); + struct info *login=malloc(sizeof(struct info)); fp = fopen ("/etc/tcospasswd", "r" ); if (fp == NULL) { @@ -56,7 +58,7 @@ char *validate_tcos(char *user, char *pass) return (char*) LOGIN_ERROR; } - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); /*remove_line_break(line);*/ fclose(fp); strncpy(login->line, line, BSIZE); diff --git a/xmlrpc/vnc.c b/xmlrpc/vnc.c index d6b686f..5a33f9e 100644 --- a/xmlrpc/vnc.c +++ b/xmlrpc/vnc.c @@ -39,7 +39,8 @@ xmlrpc_value *tcos_vnc(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *pass; char *login_ok; char cmd[BIG_BUFFER]; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what info search */ @@ -70,7 +71,7 @@ xmlrpc_value *tcos_vnc(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error in line */ strncpy(line, VNC_ERROR, BIG_BUFFER); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); dbgtcos("tcosxmlrpc::tcos_vnc() line=\"%s\"\n", line); diff --git a/xmlrpc/xorg.c b/xmlrpc/xorg.c index 3f4ab01..5c9bc04 100644 --- a/xmlrpc/xorg.c +++ b/xmlrpc/xorg.c @@ -38,7 +38,8 @@ xmlrpc_value *tcos_xorg(xmlrpc_env *env, xmlrpc_value *in, void *ud) char *user; char *pass; char *login_ok; - /*char *fret;*/ + char *fret; + UNUSED(fret); /* read what option and cmdline params need */ @@ -104,7 +105,7 @@ xmlrpc_value *tcos_xorg(xmlrpc_env *env, xmlrpc_value *in, void *ud) /* put error msg into line var */ strncpy(line, XORG_ERROR, BSIZE); - (void)fgets( line, sizeof line, fp); + fret=fgets( line, sizeof line, fp); remove_line_break(line); pclose(fp); |