mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Kudzu, ReiserFS, uClibc, gettext und Arbeit am Installer
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@346 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16
|
||||
# Fri Nov 3 04:37:54 2006
|
||||
# Tue Nov 14 22:30:30 2006
|
||||
#
|
||||
CONFIG_X86_32=y
|
||||
CONFIG_SEMAPHORE_SLEEPERS=y
|
||||
@@ -585,20 +585,20 @@ CONFIG_BLK_DEV_INITRD=y
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
CONFIG_IDE=m
|
||||
CONFIG_BLK_DEV_IDE=m
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
# CONFIG_BLK_DEV_HD_IDE is not set
|
||||
CONFIG_BLK_DEV_IDEDISK=m
|
||||
CONFIG_BLK_DEV_IDEDISK=y
|
||||
# CONFIG_IDEDISK_MULTI_MODE is not set
|
||||
CONFIG_BLK_DEV_IDECS=m
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
CONFIG_BLK_DEV_IDECD=y
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_BLK_DEV_IDEFLOPPY=m
|
||||
CONFIG_BLK_DEV_IDEFLOPPY=y
|
||||
# CONFIG_BLK_DEV_IDESCSI is not set
|
||||
# CONFIG_IDE_TASK_IOCTL is not set
|
||||
|
||||
@@ -748,6 +748,7 @@ CONFIG_SCSI_SATA_SIS=m
|
||||
CONFIG_SCSI_SATA_ULI=m
|
||||
CONFIG_SCSI_SATA_VIA=m
|
||||
CONFIG_SCSI_SATA_VITESSE=m
|
||||
CONFIG_SCSI_SATA_INTEL_COMBINED=y
|
||||
CONFIG_SCSI_BUSLOGIC=m
|
||||
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
|
||||
CONFIG_SCSI_DMX3191D=m
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.16
|
||||
# Thu Oct 12 18:35:42 2006
|
||||
# Tue Nov 14 22:39:06 2006
|
||||
#
|
||||
CONFIG_X86_32=y
|
||||
CONFIG_SEMAPHORE_SLEEPERS=y
|
||||
@@ -614,20 +614,20 @@ CONFIG_BLK_DEV_INITRD=y
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
CONFIG_IDE=m
|
||||
CONFIG_BLK_DEV_IDE=m
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
# CONFIG_BLK_DEV_HD_IDE is not set
|
||||
CONFIG_BLK_DEV_IDEDISK=m
|
||||
CONFIG_BLK_DEV_IDEDISK=y
|
||||
# CONFIG_IDEDISK_MULTI_MODE is not set
|
||||
CONFIG_BLK_DEV_IDECS=m
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
CONFIG_BLK_DEV_IDECD=y
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_BLK_DEV_IDEFLOPPY=m
|
||||
CONFIG_BLK_DEV_IDEFLOPPY=y
|
||||
# CONFIG_BLK_DEV_IDESCSI is not set
|
||||
# CONFIG_IDE_TASK_IOCTL is not set
|
||||
|
||||
@@ -777,6 +777,7 @@ CONFIG_SCSI_SATA_SIS=m
|
||||
CONFIG_SCSI_SATA_ULI=m
|
||||
CONFIG_SCSI_SATA_VIA=m
|
||||
CONFIG_SCSI_SATA_VITESSE=m
|
||||
CONFIG_SCSI_SATA_INTEL_COMBINED=y
|
||||
CONFIG_SCSI_BUSLOGIC=m
|
||||
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
|
||||
CONFIG_SCSI_DMX3191D=m
|
||||
@@ -1522,10 +1523,6 @@ CONFIG_VGA_CONSOLE=y
|
||||
# CONFIG_MDA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
|
||||
#
|
||||
# Bootsplash configuration
|
||||
#
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
@@ -1729,7 +1726,7 @@ CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_JBD=m
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=m
|
||||
CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
|
||||
@@ -2,16 +2,16 @@ TIMEOUT 5000
|
||||
DISPLAY message
|
||||
PROMPT 1
|
||||
DEFAULT vmlinuz
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=11264 rw
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=16384 rw
|
||||
LABEL nopcmcia
|
||||
KERNEL vmlinuz
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=11264 rw nopcmcia
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=16384 rw nopcmcia
|
||||
LABEL nousb
|
||||
KERNEL vmlinuz
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=11264 rw nousb
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=16384 rw nousb
|
||||
LABEL nousborpcmcia
|
||||
KERNEL vmlinuz
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=11264 rw nousb nopcmcia
|
||||
APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 ramdisk_size=16384 rw nousb nopcmcia
|
||||
LABEL dma
|
||||
KERNEL vmlinuz
|
||||
APPEND initrd=instroot.gz root=/dev/ram0 ramdisk_size=11264 rw
|
||||
APPEND initrd=instroot.gz root=/dev/ram0 ramdisk_size=16384 rw
|
||||
|
||||
12
config/rootfiles/common/reiserfsprogs
Normal file
12
config/rootfiles/common/reiserfsprogs
Normal file
@@ -0,0 +1,12 @@
|
||||
sbin/debugreiserfs
|
||||
sbin/fsck.reiserfs
|
||||
sbin/mkfs.reiserfs
|
||||
sbin/mkreiserfs
|
||||
sbin/reiserfsck
|
||||
sbin/reiserfstune
|
||||
sbin/resize_reiserfs
|
||||
#usr/man/man8/debugreiserfs.8
|
||||
#usr/man/man8/mkreiserfs.8
|
||||
#usr/man/man8/reiserfsck.8
|
||||
#usr/man/man8/reiserfstune.8
|
||||
#usr/man/man8/resize_reiserfs.8
|
||||
@@ -32,10 +32,10 @@ home/nobody
|
||||
media/cdrom
|
||||
media/floppy
|
||||
mnt
|
||||
opt
|
||||
#opt
|
||||
root
|
||||
sbin
|
||||
srv
|
||||
#srv
|
||||
#usr/bin/perl
|
||||
#usr/include
|
||||
#usr/lib
|
||||
|
||||
@@ -107,7 +107,8 @@ BR2_GCC_VERSION_4_0_3=y
|
||||
BR2_GCC_VERSION="4.0.3"
|
||||
# BR2_GCC_USE_SJLJ_EXCEPTIONS is not set
|
||||
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
|
||||
# BR2_INSTALL_LIBSTDCPP is not set
|
||||
BR2_INSTALL_LIBSTDCPP=y
|
||||
# BR2_INSTALL_LIBGCJ is not set
|
||||
# BR2_INSTALL_OBJC is not set
|
||||
BR2_GCC_SHARED_LIBGCC=y
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ CONFIG_INSTALL_NO_USR=y
|
||||
CONFIG_INSTALL_APPLET_SYMLINKS=y
|
||||
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
|
||||
# CONFIG_INSTALL_APPLET_DONT is not set
|
||||
PREFIX="./_install"
|
||||
PREFIX="/install/initrd"
|
||||
|
||||
#
|
||||
# Busybox Library Tuning
|
||||
@@ -73,13 +73,13 @@ CONFIG_MD5_SIZE_VS_SPEED=3
|
||||
#
|
||||
# CONFIG_AR is not set
|
||||
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
|
||||
CONFIG_BUNZIP2=y
|
||||
CONFIG_CPIO=y
|
||||
# CONFIG_BUNZIP2 is not set
|
||||
# CONFIG_CPIO is not set
|
||||
# CONFIG_DPKG is not set
|
||||
# CONFIG_DPKG_DEB is not set
|
||||
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
|
||||
CONFIG_GUNZIP=y
|
||||
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
|
||||
# CONFIG_GUNZIP is not set
|
||||
# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
|
||||
CONFIG_GZIP=y
|
||||
# CONFIG_RPM2CPIO is not set
|
||||
# CONFIG_RPM is not set
|
||||
@@ -114,14 +114,14 @@ CONFIG_BASENAME=y
|
||||
CONFIG_CAT=y
|
||||
# CONFIG_CATV is not set
|
||||
# CONFIG_CHGRP is not set
|
||||
# CONFIG_CHMOD is not set
|
||||
CONFIG_CHMOD=y
|
||||
# CONFIG_CHOWN is not set
|
||||
CONFIG_CHROOT=y
|
||||
# CONFIG_CKSUM is not set
|
||||
# CONFIG_CMP is not set
|
||||
# CONFIG_COMM is not set
|
||||
CONFIG_CP=y
|
||||
# CONFIG_CUT is not set
|
||||
CONFIG_CUT=y
|
||||
CONFIG_DATE=y
|
||||
CONFIG_FEATURE_DATE_ISOFMT=y
|
||||
CONFIG_DD=y
|
||||
@@ -163,14 +163,14 @@ CONFIG_FEATURE_LS_TIMESTAMPS=y
|
||||
CONFIG_FEATURE_LS_USERNAME=y
|
||||
CONFIG_FEATURE_LS_COLOR=y
|
||||
# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
|
||||
# CONFIG_MD5SUM is not set
|
||||
CONFIG_MD5SUM=y
|
||||
CONFIG_MKDIR=y
|
||||
# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
|
||||
# CONFIG_MKFIFO is not set
|
||||
CONFIG_MKFIFO=y
|
||||
CONFIG_MKNOD=y
|
||||
# CONFIG_MV is not set
|
||||
# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
|
||||
# CONFIG_NICE is not set
|
||||
CONFIG_NICE=y
|
||||
# CONFIG_NOHUP is not set
|
||||
# CONFIG_OD is not set
|
||||
# CONFIG_PRINTENV is not set
|
||||
@@ -183,27 +183,27 @@ CONFIG_MKNOD=y
|
||||
# CONFIG_SHA1SUM is not set
|
||||
CONFIG_SLEEP=y
|
||||
# CONFIG_FEATURE_FANCY_SLEEP is not set
|
||||
# CONFIG_SORT is not set
|
||||
# CONFIG_FEATURE_SORT_BIG is not set
|
||||
CONFIG_SORT=y
|
||||
CONFIG_FEATURE_SORT_BIG=y
|
||||
# CONFIG_STAT is not set
|
||||
# CONFIG_FEATURE_STAT_FORMAT is not set
|
||||
# CONFIG_STTY is not set
|
||||
# CONFIG_SUM is not set
|
||||
CONFIG_SYNC=y
|
||||
# CONFIG_TAIL is not set
|
||||
# CONFIG_FEATURE_FANCY_TAIL is not set
|
||||
# CONFIG_TEE is not set
|
||||
CONFIG_TAIL=y
|
||||
CONFIG_FEATURE_FANCY_TAIL=y
|
||||
CONFIG_TEE=y
|
||||
# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
|
||||
CONFIG_TEST=y
|
||||
# CONFIG_FEATURE_TEST_64 is not set
|
||||
# CONFIG_TOUCH is not set
|
||||
CONFIG_TOUCH=y
|
||||
# CONFIG_TR is not set
|
||||
# CONFIG_FEATURE_TR_CLASSES is not set
|
||||
# CONFIG_FEATURE_TR_EQUIV is not set
|
||||
# CONFIG_TRUE is not set
|
||||
# CONFIG_TTY is not set
|
||||
CONFIG_UNAME=y
|
||||
# CONFIG_UNIQ is not set
|
||||
CONFIG_UNIQ=y
|
||||
# CONFIG_USLEEP is not set
|
||||
# CONFIG_UUDECODE is not set
|
||||
# CONFIG_UUENCODE is not set
|
||||
@@ -227,6 +227,10 @@ CONFIG_FEATURE_AUTOWIDTH=y
|
||||
# Common options for df, du, ls
|
||||
#
|
||||
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
|
||||
#
|
||||
# Common options for md5sum, sha1sum
|
||||
#
|
||||
# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
|
||||
|
||||
#
|
||||
@@ -293,9 +297,9 @@ CONFIG_SED=y
|
||||
# CONFIG_FEATURE_FIND_INUM is not set
|
||||
# CONFIG_FEATURE_FIND_EXEC is not set
|
||||
CONFIG_GREP=y
|
||||
# CONFIG_FEATURE_GREP_EGREP_ALIAS is not set
|
||||
# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set
|
||||
# CONFIG_FEATURE_GREP_CONTEXT is not set
|
||||
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 is not set
|
||||
# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
|
||||
@@ -357,8 +361,8 @@ CONFIG_INSMOD=y
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
|
||||
CONFIG_RMMOD=y
|
||||
# CONFIG_LSMOD is not set
|
||||
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
|
||||
CONFIG_LSMOD=y
|
||||
CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
|
||||
CONFIG_MODPROBE=y
|
||||
CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
|
||||
|
||||
@@ -408,8 +412,8 @@ CONFIG_MKFS_MINIX=y
|
||||
# CONFIG_FEATURE_MDEV_EXEC is not set
|
||||
CONFIG_MKSWAP=y
|
||||
# CONFIG_FEATURE_MKSWAP_V0 is not set
|
||||
# CONFIG_MORE is not set
|
||||
# CONFIG_FEATURE_USE_TERMIOS is not set
|
||||
CONFIG_MORE=y
|
||||
CONFIG_FEATURE_USE_TERMIOS=y
|
||||
CONFIG_MOUNT=y
|
||||
# CONFIG_FEATURE_MOUNT_NFS is not set
|
||||
CONFIG_PIVOT_ROOT=y
|
||||
@@ -444,9 +448,9 @@ CONFIG_FEATURE_MOUNT_LOOP=y
|
||||
# CONFIG_FEATURE_DEVFS is not set
|
||||
# CONFIG_EJECT is not set
|
||||
# CONFIG_LAST is not set
|
||||
# CONFIG_LESS is not set
|
||||
# CONFIG_FEATURE_LESS_BRACKETS is not set
|
||||
# CONFIG_FEATURE_LESS_FLAGS is not set
|
||||
CONFIG_LESS=y
|
||||
CONFIG_FEATURE_LESS_BRACKETS=y
|
||||
CONFIG_FEATURE_LESS_FLAGS=y
|
||||
# CONFIG_FEATURE_LESS_FLAGCS is not set
|
||||
# CONFIG_FEATURE_LESS_MARKS is not set
|
||||
# CONFIG_FEATURE_LESS_REGEXP is not set
|
||||
@@ -570,7 +574,7 @@ CONFIG_FEATURE_WGET_AUTHENTICATION=y
|
||||
#
|
||||
# Process Utilities
|
||||
#
|
||||
# CONFIG_FREE is not set
|
||||
CONFIG_FREE=y
|
||||
# CONFIG_FUSER is not set
|
||||
CONFIG_KILL=y
|
||||
CONFIG_KILLALL=y
|
||||
@@ -578,11 +582,11 @@ CONFIG_KILLALL=y
|
||||
# CONFIG_FEATURE_PIDOF_SINGLE is not set
|
||||
# CONFIG_FEATURE_PIDOF_OMIT is not set
|
||||
CONFIG_PS=y
|
||||
# CONFIG_FEATURE_PS_WIDE is not set
|
||||
# CONFIG_RENICE is not set
|
||||
CONFIG_FEATURE_PS_WIDE=y
|
||||
CONFIG_RENICE=y
|
||||
# CONFIG_BB_SYSCTL is not set
|
||||
# CONFIG_TOP is not set
|
||||
# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
|
||||
CONFIG_TOP=y
|
||||
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
|
||||
# CONFIG_UPTIME is not set
|
||||
|
||||
#
|
||||
|
||||
@@ -51,7 +51,7 @@ ARCH_LITTLE_ENDIAN=y
|
||||
ARCH_HAS_MMU=y
|
||||
UCLIBC_HAS_FLOATS=y
|
||||
HAS_FPU=y
|
||||
# DO_C99_MATH is not set
|
||||
DO_C99_MATH=y
|
||||
KERNEL_SOURCE="/usr/src/buildroot/toolchain_build_i586/linux"
|
||||
C_SYMBOL_PREFIX=""
|
||||
HAVE_DOT_CONFIG=y
|
||||
@@ -65,17 +65,17 @@ DOPIC=y
|
||||
HAVE_SHARED=y
|
||||
# ARCH_HAS_NO_LDSO is not set
|
||||
BUILD_UCLIBC_LDSO=y
|
||||
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
|
||||
FORCE_SHAREABLE_TEXT_SEGMENTS=y
|
||||
LDSO_LDD_SUPPORT=y
|
||||
# LDSO_CACHE_SUPPORT is not set
|
||||
LDSO_CACHE_SUPPORT=y
|
||||
# LDSO_PRELOAD_FILE_SUPPORT is not set
|
||||
LDSO_BASE_FILENAME="ld.so"
|
||||
# LDSO_RUNPATH is not set
|
||||
LDSO_RUNPATH=y
|
||||
# DL_FINI_CRT_COMPAT is not set
|
||||
UCLIBC_CTOR_DTOR=y
|
||||
# HAS_NO_THREADS is not set
|
||||
# UCLIBC_HAS_THREADS is not set
|
||||
PTHREADS_DEBUG_SUPPORT=y
|
||||
UCLIBC_HAS_THREADS=y
|
||||
# PTHREADS_DEBUG_SUPPORT is not set
|
||||
UCLIBC_HAS_LFS=y
|
||||
# UCLIBC_STATIC_LDCONFIG is not set
|
||||
# MALLOC is not set
|
||||
@@ -84,7 +84,7 @@ MALLOC_STANDARD=y
|
||||
MALLOC_GLIBC_COMPAT=y
|
||||
UCLIBC_DYNAMIC_ATEXIT=y
|
||||
HAS_SHADOW=y
|
||||
# UNIX98PTY_ONLY is not set
|
||||
UNIX98PTY_ONLY=y
|
||||
ASSUME_DEVPTS=y
|
||||
UCLIBC_HAS_TM_EXTENSIONS=y
|
||||
UCLIBC_HAS_TZ_CACHING=y
|
||||
@@ -105,15 +105,19 @@ UCLIBC_HAS_STRING_GENERIC_OPT=y
|
||||
UCLIBC_HAS_STRING_ARCH_OPT=y
|
||||
UCLIBC_HAS_CTYPE_TABLES=y
|
||||
UCLIBC_HAS_CTYPE_SIGNED=y
|
||||
# UCLIBC_HAS_CTYPE_UNSAFE is not set
|
||||
UCLIBC_HAS_CTYPE_CHECKED=y
|
||||
UCLIBC_HAS_CTYPE_UNSAFE=y
|
||||
# UCLIBC_HAS_CTYPE_CHECKED is not set
|
||||
# UCLIBC_HAS_CTYPE_ENFORCED is not set
|
||||
UCLIBC_HAS_WCHAR=y
|
||||
# UCLIBC_HAS_LOCALE is not set
|
||||
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
|
||||
UCLIBC_HAS_LOCALE=y
|
||||
UCLIBC_PREGENERATED_LOCALE_DATA=y
|
||||
# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
|
||||
# UCLIBC_HAS_XLOCALE is not set
|
||||
# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
|
||||
# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
|
||||
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
|
||||
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
|
||||
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
|
||||
# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
|
||||
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
|
||||
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
|
||||
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
|
||||
@@ -129,13 +133,13 @@ UCLIBC_HAS_STDIO_GETC_MACRO=y
|
||||
UCLIBC_HAS_STDIO_PUTC_MACRO=y
|
||||
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
|
||||
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
|
||||
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
|
||||
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
|
||||
UCLIBC_HAS_PRINTF_M_SPEC=y
|
||||
# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set
|
||||
# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set
|
||||
# UCLIBC_HAS_PRINTF_M_SPEC is not set
|
||||
UCLIBC_HAS_ERRNO_MESSAGES=y
|
||||
# UCLIBC_HAS_SYS_ERRLIST is not set
|
||||
UCLIBC_HAS_SIGNUM_MESSAGES=y
|
||||
# UCLIBC_HAS_SYS_SIGLIST is not set
|
||||
UCLIBC_HAS_SYS_SIGLIST=y
|
||||
UCLIBC_HAS_GNU_GETOPT=y
|
||||
|
||||
#
|
||||
@@ -143,7 +147,7 @@ UCLIBC_HAS_GNU_GETOPT=y
|
||||
#
|
||||
UCLIBC_HAS_REGEX=y
|
||||
# UCLIBC_HAS_WORDEXP is not set
|
||||
# UCLIBC_HAS_FTW is not set
|
||||
UCLIBC_HAS_FTW=y
|
||||
UCLIBC_HAS_GLOB=y
|
||||
|
||||
#
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
* ccache-2.4
|
||||
* cdrtools-2.01
|
||||
* cftp-0.12
|
||||
* clamav-0.88.5
|
||||
* clamav-0.88.6
|
||||
* coreutils-5.96
|
||||
* cups-1.2.2
|
||||
@@ -92,6 +91,7 @@
|
||||
* hdparm-6.6
|
||||
* htop-0.6.2
|
||||
* httpd-2.2.2
|
||||
* hwinfo
|
||||
* iana-etc-2.10
|
||||
* ibod
|
||||
* iftop-0.17
|
||||
@@ -106,6 +106,8 @@
|
||||
* java-1.5.0_06-for-ipfire
|
||||
* jpegsrc.v6b
|
||||
* kbd-1.12
|
||||
* kudzu-1.1.95.15
|
||||
* kudzu-1.2.60
|
||||
* l7-protocols-2006-09-10
|
||||
* lame-3.96.1
|
||||
* lcms-1.15
|
||||
@@ -165,7 +167,6 @@
|
||||
* openssh-4.3p2
|
||||
* openssl-0.9.8d
|
||||
* openswan-2.4.6
|
||||
* openvpn-2.0.7
|
||||
* openvpn-2.0.9
|
||||
* pam_mysql-0.7RC1
|
||||
* patch-2.5.4
|
||||
@@ -184,6 +185,7 @@
|
||||
* psmisc-22.2
|
||||
* razor-agents-2.81
|
||||
* readline-5.1
|
||||
* reiserfsprogs-3.6.19
|
||||
* rp-pppoe-3.8
|
||||
* rrdtool-1.2.15
|
||||
* rsync-2.6.8
|
||||
|
||||
@@ -323,8 +323,8 @@ char *de_tr[] = {
|
||||
"Automatische Erkennung",
|
||||
/* TR_PROBE_FAILED */
|
||||
"Automatische Erkennung fehlgeschlagen.",
|
||||
/* TR_PROBING_SCSI */
|
||||
"Suche SCSI-Geräte...",
|
||||
/* TR_PROBING_HARDWARE */
|
||||
"Hardwareerkennung läuft...",
|
||||
/* TR_PROBLEM_SETTING_ADMIN_PASSWORD */
|
||||
"Problem beim Setzen des %s Administrator-Passworts.",
|
||||
/* TR_PROBLEM_SETTING_ROOT_PASSWORD */
|
||||
|
||||
@@ -319,8 +319,8 @@ char *en_tr[] = {
|
||||
"Probe",
|
||||
/* TR_PROBE_FAILED */
|
||||
"Auto detecting failed.",
|
||||
/* TR_PROBING_SCSI */
|
||||
"Probing SCSI devices...",
|
||||
/* TR_PROBING_HARDWARE */
|
||||
"Probing hardware...",
|
||||
/* TR_PROBLEM_SETTING_ADMIN_PASSWORD */
|
||||
"Problem setting %s 'admin' user password.",
|
||||
/* TR_PROBLEM_SETTING_ROOT_PASSWORD */
|
||||
|
||||
@@ -48,7 +48,7 @@ md5 :
|
||||
###############################################################################
|
||||
|
||||
$(TARGET) :
|
||||
if [ "$(MACHINE)" = "i386" ]; then \
|
||||
if [ "$(MACHINE)" = "i586" ]; then \
|
||||
dd if=/dev/zero of=/install/images/boot-$(VERSION).img bs=1024 count=1440; \
|
||||
mkdosfs -f 1 -r 16 /install/images/boot-$(VERSION).img; \
|
||||
syslinux -s /install/images/boot-$(VERSION).img; \
|
||||
@@ -69,4 +69,3 @@ $(TARGET) :
|
||||
umount /install/mnt; \
|
||||
losetup -d $$LOOPDEV; \
|
||||
fi
|
||||
|
||||
|
||||
12
lfs/busybox
12
lfs/busybox
@@ -72,20 +72,12 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
||||
-mkdir -p /install/initrd/bin
|
||||
cd $(DIR_APP) && cp -f $(DIR_SRC)/config/uClibc/busybox.config .config
|
||||
cd $(DIR_APP) && make
|
||||
-mkdir -p /install/initrd/bin
|
||||
cd $(DIR_APP) && install -m 0755 busybox /install/initrd/bin
|
||||
cd $(DIR_APP) && make install
|
||||
mkdir -p /install/initrd/usr/share/udhcpc
|
||||
cd $(DIR_APP) && install -m 0755 examples/udhcp/simple.script \
|
||||
/install/initrd/usr/share/udhcpc/default.script
|
||||
cd /install/initrd/bin && for i in [ ash basename cat chroot cp \
|
||||
date dd df dmesg echo gzip gunzip halt hwclock insmod ifconfig \
|
||||
init ls ln mkdir mkswap modprobe mount reboot rmmod lsmod \
|
||||
e2label mke2fs mkfs.minix tftp \
|
||||
sed sh sleep swapon swapoff syslogd tar umount wget env \
|
||||
ping sync udhcpc grep xargs route test uname wc readlink; do \
|
||||
ln -sf busybox $$i; \
|
||||
done
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
15
lfs/gettext
15
lfs/gettext
@@ -36,10 +36,14 @@ DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
# Normal build or /tools build.
|
||||
#
|
||||
ifeq "$(ROOT)" ""
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)-install
|
||||
else
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
EXTRA_CONFIG = --prefix=/usr --disable-nls
|
||||
EXTRA_MAKE =
|
||||
EXTRA_MAKE = $(MAKETUNING)
|
||||
EXTRA_INSTALL =
|
||||
endif
|
||||
else
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)-tools
|
||||
EXTRA_CONFIG = --prefix=/tools --disable-shared --disable-nls
|
||||
@@ -86,9 +90,18 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
ifeq "$(ROOT)" ""
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP) && ./configure --prefix=/ --libdir=/lib \
|
||||
--with-included-gettext --disable-rpath \
|
||||
--enable-relocatable --disable-shared
|
||||
cd $(DIR_APP)/gettext-runtime && make CFLAGS="-Os -fomit-frame-pointer" -C intl/
|
||||
cd $(DIR_APP)/gettext-runtime && make CFLAGS="-Os -fomit-frame-pointer" \
|
||||
DESTDIR=/opt/$(MACHINE)-uClibc -C intl/ install
|
||||
else
|
||||
cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
|
||||
cd $(DIR_APP) && make $(EXTRA_MAKE)
|
||||
cd $(DIR_APP) && make $(EXTRA_INSTALL) install
|
||||
endif
|
||||
else
|
||||
cd $(DIR_APP)/gettext-tools && ./configure $(EXTRA_CONFIG)
|
||||
cd $(DIR_APP)/gettext-tools && make -C lib $(MAKETUNING)
|
||||
|
||||
@@ -53,6 +53,6 @@ $(TARGET) :
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && mkdir $(DIR_APP) && cp -R $(DIR_SRC)/src/hwinfo/* $(DIR_APP)
|
||||
cd $(DIR_APP) && make tinystatic
|
||||
cd $(DIR_APP) && DESTDIR="/opt/$(MACHINE)-uClibc" make tinystaticinstall
|
||||
cd $(DIR_APP) && DESTDIR="/install/initrd" make tinystaticinstall
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
@@ -122,7 +122,7 @@ $(TARGET) :
|
||||
losetup -d $$LOOPDEV
|
||||
gzip -9 /install/images/fdinitrd
|
||||
|
||||
RAMDISK_SIZE=11264 && \
|
||||
RAMDISK_SIZE=16384 && \
|
||||
dd if=/dev/zero of=/install/images/cdinitrd bs=1k count=$${RAMDISK_SIZE}
|
||||
for i in `seq 0 7`; do \
|
||||
if (! losetup /dev/loop$${i} >/dev/null 2>&1 ); then \
|
||||
|
||||
@@ -61,6 +61,6 @@ $(TARGET) :
|
||||
cd $(DIR_APP)/install && make CFLAGS="-Os -fomit-frame-pointer -Wall \
|
||||
-DNAME='\"$(NAME)\"' -DSNAME='\"$(SNAME)\"' -DVERSION='\"$(VERSION)\"' \
|
||||
-DSLOGAN='\"$(SLOGAN)\"' -DCONFIG_ROOT='\"$(CONFIG_ROOT)\"' -DKERNEL_VERSION='\"$(KVER)\"'"
|
||||
cd $(DIR_APP)/install && install -v -m 0755 install probescsi.sh installbootsplash.sh /install/initrd/bin
|
||||
cd $(DIR_APP)/install && install -v -m 0755 install probehw.sh installbootsplash.sh mountsource.sh /install/initrd/bin
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
20
lfs/kudzu
20
lfs/kudzu
@@ -26,10 +26,10 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 1.1.67
|
||||
VER = 1.2.60
|
||||
|
||||
THISAPP = kudzu-$(VER)
|
||||
DL_FILE = kudzu_$(VER).orig.tar.gz
|
||||
DL_FILE = kudzu-$(VER).tar.bz2
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = bfd122f24d3a6a5b3e63a311d1be492d
|
||||
$(DL_FILE)_MD5 = 19db16f10b3a878f6584ab967991d792
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -75,12 +75,16 @@ $(subst %,%_MD5,$(objects)) :
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP) && make CFLAGS="-Os -fomit-frame-pointer -Wall -D_GNU_SOURCE -I. -I/install/include" libkudzu.a
|
||||
cd $(DIR_APP) && install -m 0644 libkudzu.a /install/lib
|
||||
-mkdir -p /install/include/kudzu
|
||||
cd $(DIR_APP) && install -m 0644 *.h /install/include/kudzu
|
||||
cd $(DIR_APP) && patch -N < $(DIR_SRC)/src/patches/kudzu-link-lintl.diff
|
||||
cd $(DIR_APP) && make RPM_OPT_FLAGS="-Os -fomit-frame-pointer -I/install/include" \
|
||||
ARCH=$(MACHINE)
|
||||
cd $(DIR_APP) && install -m 0755 kudzu /install/initrd/bin/kudzu
|
||||
cd $(DIR_APP) && install -m 0644 libkudzu.a /install/initrd/lib
|
||||
cd $(DIR_APP) && install -m 0644 libkudzu_loader.a /install/initrd/lib
|
||||
# -mkdir -p /install/include/kudzu
|
||||
# cd $(DIR_APP) && install -m 0644 *.h /install/include/kudzu
|
||||
else
|
||||
cd $(DIR_APP) && ARCH=$(MACHINE) RPM_OPT_FLAGS="$(CFLAGS)" make
|
||||
cd $(DIR_APP) && ARCH=$(MACHINE) RPM_OPT_FLAGS="$(CFLAGS)" make install
|
||||
|
||||
12
lfs/pciutils
12
lfs/pciutils
@@ -76,15 +76,21 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
||||
|
||||
cd $(DIR_APP) && sed -i 's/null ;/null 2>\&1 ;/' update-pciids.sh
|
||||
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-strip.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-2.1.10-scan.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-havepread.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-devicetype.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-2.2.1-idpath.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-2.1.99-gcc4.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-2.2.3-multilib.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pciutils-2.2.3-sata.patch
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP)/lib && CFLAGS="-Os -fomit-frame-pointer" ./configure
|
||||
cd $(DIR_APP)/lib && CFLAGS="-Os -fomit-frame-pointer" make $(MAKETUNING)
|
||||
-mkdir -p /opt/$(MACHINE)-uClibc/include/pci
|
||||
cd $(DIR_APP) && install -m 0644 lib/libpci.a /opt/$(MACHINE)-uClibc/lib
|
||||
cd $(DIR_APP) && install -m 0644 lib/{config,header,pci}.h /opt/$(MACHINE)-uClibc/include/pci
|
||||
cd $(DIR_APP) && install -m 0644 lib/*.h /opt/$(MACHINE)-uClibc/include/pci
|
||||
else
|
||||
cd $(DIR_APP) && make PREFIX=/usr $(MAKETUNING)
|
||||
cd $(DIR_APP) && make PREFIX=/usr install
|
||||
|
||||
12
lfs/popt
12
lfs/popt
@@ -32,7 +32,11 @@ THISAPP = popt-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)-installer
|
||||
else
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Top-level Rules
|
||||
@@ -72,10 +76,16 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP) && ./configure --prefix=/ --disable-nls
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make DESTDIR=/opt/$(MACHINE)-uClibc install
|
||||
else
|
||||
cd $(DIR_APP) && sed -i -e "/*origOptString ==/c 0)" popt.c
|
||||
cd $(DIR_APP) && autoreconf -f -i
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make install
|
||||
endif
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
91
lfs/reiserfsprogs
Normal file
91
lfs/reiserfsprogs
Normal file
@@ -0,0 +1,91 @@
|
||||
###############################################################################
|
||||
# This file is part of the IPCop Firewall. #
|
||||
# #
|
||||
# IPCop is free software; you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation; either version 2 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# IPCop is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with IPCop; if not, write to the Free Software #
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
# #
|
||||
# Makefiles are based on LFSMake, which is #
|
||||
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Definitions
|
||||
###############################################################################
|
||||
|
||||
include Config
|
||||
|
||||
VER = 3.6.19
|
||||
|
||||
THISAPP = reiserfsprogs-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)-install
|
||||
else
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Top-level Rules
|
||||
###############################################################################
|
||||
|
||||
objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = b42cf15f6651c3ceff5cb84996c0d539
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
|
||||
|
||||
download :$(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
|
||||
md5 : $(subst %,%_MD5,$(objects))
|
||||
|
||||
###############################################################################
|
||||
# Downloading, checking, md5sum
|
||||
###############################################################################
|
||||
|
||||
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
|
||||
@$(CHECK)
|
||||
|
||||
$(patsubst %,$(DIR_DL)/%,$(objects)) :
|
||||
@$(LOAD)
|
||||
|
||||
$(subst %,%_MD5,$(objects)) :
|
||||
@$(MD5)
|
||||
|
||||
###############################################################################
|
||||
# Installation Details
|
||||
###############################################################################
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP) && ./configure --prefix=/ --sbindir=/bin
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make DESTDIR=/install/initrd install
|
||||
else
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --sbindir=/sbin
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make install
|
||||
ln -svf reiserfsck /sbin/fsck.reiserfs
|
||||
ln -svf mkreiserfs /sbin/mkfs.reiserfs
|
||||
endif
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
@@ -18,12 +18,6 @@
|
||||
# Makefiles are based on LFSMake, which is #
|
||||
# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
|
||||
# #
|
||||
# Modifications by: #
|
||||
# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> #
|
||||
# - Modified Makefile for IPCop build #
|
||||
# #
|
||||
# $Id: ntp,v 1.6.2.3 2005/02/05 15:38:15 gespinasse Exp $
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
@@ -36,7 +30,7 @@ VER = 2.6.8
|
||||
|
||||
THISAPP = rsync-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FROM = ftp://ftp.samba.org/pub/rsync
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
|
||||
|
||||
12
lfs/uClibc
12
lfs/uClibc
@@ -38,13 +38,15 @@ TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
# Top-level Rules
|
||||
###############################################################################
|
||||
|
||||
objects = $(DL_FILE) buildroot-snapshot-20061026.tar.bz2
|
||||
objects = $(DL_FILE) buildroot-snapshot-20061026.tar.bz2 uClibc-locale-030818.tgz
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
buildroot-snapshot-20061026.tar.bz2 = $(DL_FROM)/buildroot-snapshot-20061026.tar.bz2
|
||||
uClibc-locale-030818.tgz = $(DL_FROM)/uClibc-locale-030818.tgz
|
||||
|
||||
$(DL_FILE)_MD5 = 1ada58d919a82561061e4741fb6abd29
|
||||
buildroot-snapshot-20061026.tar.bz2_MD5 = ecc5d48a780e46a56d1d39207d5868bd
|
||||
uClibc-locale-030818.tgz_MD5 = d75b2239b4e27c3c9cbed1c8f6eabba6
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -75,11 +77,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) /opt/$(MACHINE)-uClibc $(DIR_SRC)/buildroot
|
||||
@cd $(DIR_SRC) && tar xfj $(DIR_DL)/buildroot-snapshot-20061026.tar.bz2
|
||||
sed -e 's/UCLIBC_HAS_THREADS=y/# UCLIBC_HAS_THREADS is not set/' \
|
||||
-e 's/DO_C99_MATH=y/# DO_C99_MATH is not set/' \
|
||||
-e 's/LDSO_CACHE_SUPPORT=y/# LDSO_CACHE_SUPPORT is not set/' \
|
||||
-e 's/UCLIBC_HAS_FTW=y/# UCLIBC_HAS_FTW is not set/' \
|
||||
-e 's,/usr/src/linux,&-$(KVER),' -i $(DIR_SRC)/config/uClibc/uClibc.config-$(MACHINE)
|
||||
mkdir -p $(DIR_SRC)/buildroot/toolchain_build_$(MACHINE)/$(THISAPP)/extra/locale/
|
||||
cp -f $(DIR_DL)/uClibc-locale-030818.tgz \
|
||||
$(DIR_SRC)/buildroot/toolchain_build_$(MACHINE)/$(THISAPP)/extra/locale/
|
||||
cp -f $(DIR_SRC)/config/uClibc/uClibc.config-$(MACHINE) $(DIR_SRC)/buildroot/toolchain/uClibc/uClibc.config
|
||||
cp -f $(DIR_SRC)/config/uClibc/buildroot.config-$(MACHINE) $(DIR_SRC)/buildroot/.config
|
||||
cp -f $(DIR_SRC)/config/uClibc/buildroot.config.cmd $(DIR_SRC)/buildroot/.config.cmd
|
||||
|
||||
@@ -89,7 +89,9 @@ ifeq "$(LFS_PASS)" "install"
|
||||
cd $(DIR_APP) && echo "HAVE_SLANG=yes" >> make_include
|
||||
cd $(DIR_APP) && echo "SLANGFLAGS=-I/opt/$(MACHINE)-uClibc/include/slang" >> make_include
|
||||
cd $(DIR_APP)/fdisk && make cfdisk
|
||||
cd $(DIR_APP)/fdisk && make sfdisk
|
||||
cd $(DIR_APP)/fdisk && install -m 0755 cfdisk /install/initrd/bin
|
||||
cd $(DIR_APP)/fdisk && install -m 0755 sfdisk /install/initrd/bin
|
||||
cd $(DIR_APP)/disk-utils && make LDFLAGS=-static mkfs.minix fsck.minix
|
||||
cd $(DIR_APP)/disk-utils && install -m 0755 mkfs.minix /sbin/mkfs.minix.static
|
||||
cd $(DIR_APP)/disk-utils && install -m 0755 fsck.minix /sbin/fsck.minix.static
|
||||
|
||||
15
make.sh
15
make.sh
@@ -170,7 +170,7 @@ prepareenv() {
|
||||
# Setup environment
|
||||
set +h
|
||||
LC_ALL=POSIX
|
||||
MAKETUNING="-j4"
|
||||
MAKETUNING="-j8"
|
||||
export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
|
||||
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
|
||||
|
||||
@@ -401,6 +401,7 @@ buildipfire() {
|
||||
ipfiremake cdrtools
|
||||
ipfiremake dnsmasq
|
||||
ipfiremake dosfstools
|
||||
ipfiremake reiserfsprogs
|
||||
ipfiremake ethtool
|
||||
ipfiremake ez-ipupdate
|
||||
ipfiremake fcron
|
||||
@@ -417,7 +418,7 @@ buildipfire() {
|
||||
ipfiremake l7-protocols
|
||||
# ipfiremake isapnptools # ERROR :(
|
||||
# ipfiremake isdn4k-utils # What about mISDN???
|
||||
# ipfiremake kudzu # ERROR :(
|
||||
ipfiremake kudzu
|
||||
ipfiremake logrotate
|
||||
ipfiremake logwatch
|
||||
ipfiremake mingetty
|
||||
@@ -550,16 +551,20 @@ buildinstaller() {
|
||||
installmake busybox
|
||||
installmake udev
|
||||
installmake sysvinit
|
||||
installmake gettext
|
||||
installmake e2fsprogs
|
||||
installmake misc-progs
|
||||
installmake sysfsutils
|
||||
# installmake hwinfo
|
||||
installmake hwinfo
|
||||
installmake slang
|
||||
installmake util-linux
|
||||
installmake reiserfsprogs
|
||||
installmake newt
|
||||
installmake pciutils
|
||||
installmake pcmciautils
|
||||
installmake kbd
|
||||
installmake popt
|
||||
installmake kudzu
|
||||
installmake installer
|
||||
installmake scsi.img
|
||||
installmake driver.img
|
||||
@@ -620,7 +625,7 @@ buildpackages() {
|
||||
rm -f $LFS/install/images/*usb*
|
||||
cp $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
|
||||
|
||||
ipfirepackages
|
||||
# ipfirepackages
|
||||
|
||||
# Cleanup
|
||||
stdumount
|
||||
@@ -1013,7 +1018,7 @@ uploadsrc)
|
||||
grep -q $i /var/tmp/ftplist
|
||||
if [ "$?" -ne "0" ]; then
|
||||
echo -ne "$i"
|
||||
ncftpput -bb -u $IPFIRE_FTP_USER_INT -p $IPFIRE_FTP_PASS_INT $IPFIRE_FTP_URL_INT $IPFIRE_FTP_PATH_INT/ $i > /dev/null 2>&1
|
||||
ncftpput -bb -u $IPFIRE_FTP_USER_INT -p $IPFIRE_FTP_PASS_INT $IPFIRE_FTP_URL_INT $IPFIRE_FTP_PATH_INT/ $i >> $BASEDIR/log/_build.uploadsrc.log 2>&1
|
||||
if [ "$?" -eq "0" ]; then
|
||||
beautify message DONE
|
||||
else
|
||||
|
||||
@@ -24,7 +24,7 @@ clean :
|
||||
######
|
||||
|
||||
OBJS=main.o ide.o cdrom.o nic.o net.o config.o ../libsmooth/libsmooth.o \
|
||||
pcmcia.o upgrade-v12-v13.o upgrade-v130-v140.o usb.o scsi.o
|
||||
pcmcia.o usb.o scsi.o
|
||||
|
||||
install: $(OBJS)
|
||||
$(LINK) $(OBJS) -o $@ $(LIBS)
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
* (c) Lawrence Manning, 2001
|
||||
* CDROM menu. Get "misc" driver name etc.
|
||||
*
|
||||
* $Id: cdrom.c,v 1.6.2.1 2004/04/14 22:05:39 gespinasse Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
@@ -25,7 +23,7 @@ int ejectcdrom(char *dev)
|
||||
if ((fd = open(dev, O_RDONLY|O_NONBLOCK)) == -1)
|
||||
return 0;
|
||||
|
||||
if (ioctl(fd, CDROMEJECT) == -1)
|
||||
if (ioctl(fd, 0x5309) == -1)
|
||||
{
|
||||
close(fd);
|
||||
return 0;
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
* (c) Lawrence Manning, 2001
|
||||
* Write the config and get password stuff.
|
||||
*
|
||||
* $Id: config.c,v 1.6.2.2 2004/08/23 21:09:44 alanh Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
|
||||
@@ -9,9 +9,13 @@
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#define CDROM_INSTALL 0
|
||||
#define URL_INSTALL 1
|
||||
#define DISK_INSTALL 2
|
||||
#define INST_FILECOUNT 6600
|
||||
#define UNATTENDED_CONF "/cdrom/data/unattended.conf"
|
||||
|
||||
int raid_disk = 0;
|
||||
FILE *flog = NULL;
|
||||
@@ -25,25 +29,229 @@ extern char url[STRING_SIZE];
|
||||
extern char *en_tr[];
|
||||
extern char *de_tr[];
|
||||
|
||||
int detect_smp() {
|
||||
FILE *fd = NULL;
|
||||
char line[STRING_SIZE];
|
||||
int cpu_count = 0;
|
||||
|
||||
if ((fd = fopen("/proc/cpuinfo", "r")) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
while (fgets(line, STRING_SIZE, fd) != NULL) {
|
||||
if (strstr(line, "processor") == line) {
|
||||
cpu_count++;
|
||||
}
|
||||
}
|
||||
(void)fclose(fd);
|
||||
return (cpu_count > 1);
|
||||
}
|
||||
|
||||
int generate_packages_list(char *packages, const char *rpmdir, const char *source) {
|
||||
|
||||
FILE *fd=NULL;
|
||||
char buffer[STRING_SIZE];
|
||||
bzero(buffer, sizeof(buffer));
|
||||
|
||||
if ((fd = fopen(source, "r")) == NULL) {
|
||||
(void) fprintf(flog, "Packages file %s not found\n", source);
|
||||
return -1;
|
||||
}
|
||||
while (fgets(buffer, sizeof(buffer), fd) != NULL) {
|
||||
int length = -1;
|
||||
length = strlen(buffer)-1;
|
||||
if (length<=0) {
|
||||
continue;
|
||||
}
|
||||
if (buffer[length] == '\n') {
|
||||
buffer[length]='\0';
|
||||
}
|
||||
length = snprintf(packages, STRING_SIZE, "%s %s/%s", strdup(packages), rpmdir, buffer);
|
||||
if ((length <0) || (length >STRING_SIZE)) {
|
||||
(void) fprintf(flog, "rpm command line too long: %d\n%s", length, packages);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
if (ferror(fd)) {
|
||||
(void) fprintf(flog, "Error reading file\n");
|
||||
(void) fclose(fd);
|
||||
return -1;
|
||||
}
|
||||
(void) fclose(fd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
long calc_swapsize(long memory, long disk) {
|
||||
if (memory < 128) {
|
||||
return 256;
|
||||
}
|
||||
if (memory > 1024) {
|
||||
return 512;
|
||||
}
|
||||
|
||||
return memory*2;
|
||||
}
|
||||
|
||||
int unattended_setup(struct keyvalue *unattendedkv) {
|
||||
struct keyvalue *mainsettings = initkeyvalues();
|
||||
struct keyvalue *ethernetkv = initkeyvalues();
|
||||
FILE *file, *hosts;
|
||||
char commandstring[STRING_SIZE];
|
||||
|
||||
char domainname[STRING_SIZE];
|
||||
char hostname[STRING_SIZE];
|
||||
char keymap[STRING_SIZE];
|
||||
char language[STRING_SIZE];
|
||||
char timezone[STRING_SIZE];
|
||||
char green_address[STRING_SIZE];
|
||||
char green_netmask[STRING_SIZE];
|
||||
char green_netaddress[STRING_SIZE];
|
||||
char green_broadcast[STRING_SIZE];
|
||||
char root_password[STRING_SIZE];
|
||||
char admin_password[STRING_SIZE];
|
||||
char serial_console[STRING_SIZE];
|
||||
char reversesort[STRING_SIZE];
|
||||
|
||||
findkey(unattendedkv, "DOMAINNAME", domainname);
|
||||
findkey(unattendedkv, "HOSTNAME", hostname);
|
||||
findkey(unattendedkv, "KEYMAP", keymap);
|
||||
findkey(unattendedkv, "LANGUAGE", language);
|
||||
findkey(unattendedkv, "TIMEZONE", timezone);
|
||||
findkey(unattendedkv, "GREEN_ADDRESS", green_address);
|
||||
findkey(unattendedkv, "GREEN_NETMASK", green_netmask);
|
||||
findkey(unattendedkv, "GREEN_NETADDRESS", green_netaddress);
|
||||
findkey(unattendedkv, "GREEN_BROADCAST", green_broadcast);
|
||||
findkey(unattendedkv, "ROOT_PASSWORD", root_password);
|
||||
findkey(unattendedkv, "ADMIN_PASSWORD", admin_password);
|
||||
findkey(unattendedkv, "SERIAL_CONSOLE", serial_console);
|
||||
findkey(unattendedkv, "REVERSE_NICS", reversesort);
|
||||
|
||||
/* write main/settings. */
|
||||
replacekeyvalue(mainsettings, "DOMAINNAME", domainname);
|
||||
replacekeyvalue(mainsettings, "HOSTNAME", hostname);
|
||||
replacekeyvalue(mainsettings, "KEYMAP", keymap);
|
||||
replacekeyvalue(mainsettings, "LANGUAGE", language);
|
||||
replacekeyvalue(mainsettings, "TIMEZONE", timezone);
|
||||
writekeyvalues(mainsettings, "/harddisk" CONFIG_ROOT "/main/settings");
|
||||
freekeyvalues(mainsettings);
|
||||
|
||||
/* do setup stuff */
|
||||
fprintf(flog, "unattended: Starting setup\n");
|
||||
|
||||
/* network */
|
||||
|
||||
fprintf(flog, "unattended: setting up network configuration\n");
|
||||
|
||||
(void) readkeyvalues(ethernetkv, "/harddisk" CONFIG_ROOT "/ethernet/settings");
|
||||
replacekeyvalue(ethernetkv, "GREEN_ADDRESS", green_address);
|
||||
replacekeyvalue(ethernetkv, "GREEN_NETMASK", green_netmask);
|
||||
replacekeyvalue(ethernetkv, "GREEN_NETADDRESS", green_netaddress);
|
||||
replacekeyvalue(ethernetkv, "GREEN_BROADCAST", green_broadcast);
|
||||
replacekeyvalue(ethernetkv, "CONFIG_TYPE", "0");
|
||||
replacekeyvalue(ethernetkv, "GREEN_DEV", "br0");
|
||||
write_ethernet_configs(ethernetkv);
|
||||
freekeyvalues(ethernetkv);
|
||||
|
||||
/* timezone */
|
||||
unlink("/harddisk/etc/localtime");
|
||||
snprintf(commandstring, STRING_SIZE, "/harddisk/%s", timezone);
|
||||
link(commandstring, "/harddisk/etc/localtime");
|
||||
|
||||
/* hostname */
|
||||
fprintf(flog, "unattended: writing hostname.conf\n");
|
||||
if (!(file = fopen("/harddisk" CONFIG_ROOT "/main/hostname.conf", "w")))
|
||||
{
|
||||
errorbox("unattended: ERROR writing hostname.conf");
|
||||
return 0;
|
||||
}
|
||||
fprintf(file, "ServerName %s\n", hostname);
|
||||
fclose(file);
|
||||
|
||||
fprintf(flog, "unattended: writing hosts\n");
|
||||
if (!(hosts = fopen("/harddisk/etc/hosts", "w")))
|
||||
{
|
||||
errorbox("unattended: ERROR writing hosts");
|
||||
return 0;
|
||||
}
|
||||
fprintf(hosts, "127.0.0.1\tlocalhost\n");
|
||||
fprintf(hosts, "%s\t%s.%s\t%s\n", green_address, hostname, domainname, hostname);
|
||||
fclose(hosts);
|
||||
|
||||
fprintf(flog, "unattended: writing hosts.allow\n");
|
||||
if (!(file = fopen("/harddisk/etc/hosts.allow", "w")))
|
||||
{
|
||||
errorbox("unattended: ERROR writing hosts.allow");
|
||||
return 0;
|
||||
}
|
||||
fprintf(file, "sshd : ALL\n");
|
||||
fprintf(file, "ALL : localhost\n");
|
||||
fprintf(file, "ALL : %s/%s\n", green_netaddress, green_netmask);
|
||||
fclose(file);
|
||||
|
||||
fprintf(flog, "unattended: writing hosts.deny\n");
|
||||
if (!(file = fopen("/harddisk/etc/hosts.deny", "w")))
|
||||
{
|
||||
errorbox("unattended: ERROR writing hosts.deny");
|
||||
return 0;
|
||||
}
|
||||
fprintf(file, "ALL : ALL\n");
|
||||
fclose(file);
|
||||
|
||||
if (strcmp(serial_console, "yes") != 0) {
|
||||
snprintf(commandstring, STRING_SIZE,
|
||||
"/bin/chroot /harddisk /bin/sed -i -e \"s/^s0/#s0/\" /etc/inittab");
|
||||
if (mysystem(commandstring)) {
|
||||
errorbox("unattended: ERROR modifying inittab");
|
||||
return 0;
|
||||
}
|
||||
|
||||
snprintf(commandstring, STRING_SIZE,
|
||||
"/bin/chroot /harddisk /bin/sed -i -e \"s/^serial/#serial/; s/^terminal/#terminal/\" /boot/grub/grub.conf");
|
||||
if (mysystem(commandstring)) {
|
||||
errorbox("unattended: ERROR modifying inittab");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* set reverse sorting of interfaces */
|
||||
if (strcmp(reversesort, "yes") == 0) {
|
||||
mysystem("/bin/touch /harddisk/var/ipfire/ethernet/reverse_nics");
|
||||
}
|
||||
|
||||
/* set root password */
|
||||
fprintf(flog, "unattended: setting root password\n");
|
||||
|
||||
snprintf(commandstring, STRING_SIZE,
|
||||
"/bin/chroot /harddisk /bin/sh -c \"echo 'root:%s' | /usr/sbin/chpasswd\"", root_password);
|
||||
if (mysystem(commandstring)) {
|
||||
errorbox("unattended: ERROR setting root password");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* set admin password */
|
||||
fprintf(flog, "unattended: setting admin password\n");
|
||||
snprintf(commandstring, STRING_SIZE,
|
||||
"/bin/chroot /harddisk /usr/bin/htpasswd -c -m -b " CONFIG_ROOT "/auth/users admin '%s'", admin_password);
|
||||
if (mysystem(commandstring)) {
|
||||
errorbox("unattended: ERROR setting admin password");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#ifdef LANG_EN_ONLY
|
||||
char *langnames[] = { "English", NULL };
|
||||
char *shortlangnames[] = { "en", NULL };
|
||||
char **langtrs[] = { en_tr, NULL };
|
||||
#else
|
||||
char *langnames[] = { "Deutsch", "English", NULL };
|
||||
char *shortlangnames[] = { "de", "en", NULL };
|
||||
char **langtrs[] = { de_tr, en_tr, NULL };
|
||||
#endif
|
||||
char hdletter, cdletter;
|
||||
char harddrive[5], cdromdrive[5]; /* Device holder. */
|
||||
struct devparams hdparams, cdromparams; /* Params for CDROM and HD */
|
||||
int cdmounted = 0; /* Loop flag for inserting a cd. */
|
||||
int rc;
|
||||
char harddrive[5], sourcedrive[5]; /* Device holder. */
|
||||
struct devparams hdparams, cdromparams; /* Params for CDROM and HD */
|
||||
int cdmounted = 0; /* Loop flag for inserting a cd. */
|
||||
int rc = 0;
|
||||
char commandstring[STRING_SIZE];
|
||||
char *installtypes[] = { "CDROM", "HTTP/FTP", NULL };
|
||||
int installtype = CDROM_INSTALL;
|
||||
int installtype = CDROM_INSTALL;
|
||||
char insertmessage[STRING_SIZE];
|
||||
char insertdevnode[STRING_SIZE];
|
||||
int choice;
|
||||
@@ -57,20 +265,28 @@ int main(int argc, char *argv[])
|
||||
FILE *handle, *cmdfile;
|
||||
char line[STRING_SIZE];
|
||||
char string[STRING_SIZE];
|
||||
int maximum_free = 0, current_free;
|
||||
int memory = 0;
|
||||
int log_partition, boot_partition, root_partition, swap_file;
|
||||
long maximum_free = 0, current_free;
|
||||
long memory = 0;
|
||||
long log_partition, boot_partition, root_partition, swap_file;
|
||||
int scsi_disk = 0;
|
||||
int pcmcia_disk = 0;
|
||||
int pcmcia_cdrom = 0;
|
||||
int scsi_cdrom = 0;
|
||||
int ide_cdrom = 0;
|
||||
int fdisk = 0;
|
||||
|
||||
int hardyn = 0;
|
||||
char *yesnoharddisk[] = { "NO", "YES", NULL };
|
||||
char *yesno[] = { "NO", "YES", NULL };
|
||||
char green[STRING_SIZE];
|
||||
int unattended = 0;
|
||||
struct keyvalue *unattendedkv = initkeyvalues();
|
||||
char packages[STRING_SIZE];
|
||||
int serial_console = 0;
|
||||
char megabridge[STRING_SIZE];
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
sethostname( SNAME , 10);
|
||||
|
||||
|
||||
memset(&hdparams, 0, sizeof(struct devparams));
|
||||
memset(&cdromparams, 0, sizeof(struct devparams));
|
||||
|
||||
@@ -123,9 +339,18 @@ int main(int argc, char *argv[])
|
||||
} else {
|
||||
fprintf(flog, "Skipping USB detection.\n");
|
||||
}
|
||||
// check if we have to make an unattended install
|
||||
if (strstr (line, "unattended") != NULL) {
|
||||
unattended = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// make some beeps before wiping the system :)
|
||||
if (unattended) {
|
||||
runcommandwithstatus("/bin/beep -f 450 -r 10 -D 800 -n -f 900 -l 1000", "WARNING: Unattended installation will start in 10 seconds...");
|
||||
}
|
||||
|
||||
/* Deutsch is the default */
|
||||
/* German is the default */
|
||||
for (choice = 0; langnames[choice]; choice++)
|
||||
{
|
||||
if (strcmp(langnames[choice], "Deutsch") == 0)
|
||||
@@ -134,33 +359,331 @@ int main(int argc, char *argv[])
|
||||
if (!langnames[choice])
|
||||
goto EXIT;
|
||||
|
||||
#ifdef LANG_EN_ONLY
|
||||
/* No need to ask. "choice" already has the index for English */
|
||||
#else
|
||||
rc = newtWinMenu("Language selection",
|
||||
"Select the language you wish to use for your " NAME ".", 50, 5, 5, 8,
|
||||
langnames, &choice, "OK", NULL);
|
||||
#endif
|
||||
if (!unattended) {
|
||||
rc = newtWinMenu("Language selection",
|
||||
"Select the language you wish to use for the " NAME ".", 50, 5, 5, 8,
|
||||
langnames, &choice, "Ok", NULL);
|
||||
}
|
||||
|
||||
ctr = langtrs[choice];
|
||||
strcpy(shortlangname, shortlangnames[choice]);
|
||||
|
||||
mysystem("/bin/setfont lat0-16");
|
||||
|
||||
|
||||
newtDrawRootText(14, 0, NAME " v" VERSION " - " SLOGAN );
|
||||
newtPushHelpLine(ctr[TR_HELPLINE]);
|
||||
|
||||
sprintf(message, ctr[TR_WELCOME], NAME);
|
||||
sprintf (title, "%s v%s - %s", NAME, VERSION, SLOGAN);
|
||||
newtWinMessage(title, ctr[TR_OK], message);
|
||||
if (!unattended) {
|
||||
sprintf(message, ctr[TR_WELCOME], NAME);
|
||||
sprintf (title, "%s %s - %s", NAME, VERSION, SLOGAN);
|
||||
newtWinMessage(title, ctr[TR_OK], message);
|
||||
|
||||
sprintf(message, ctr[TR_SELECT_INSTALLATION_MEDIA_LONG], NAME);
|
||||
rc = newtWinMenu(ctr[TR_SELECT_INSTALLATION_MEDIA], message,
|
||||
50, 5, 5, 6, installtypes, &installtype, ctr[TR_OK],
|
||||
ctr[TR_CANCEL], NULL);
|
||||
sprintf(message, ctr[TR_SELECT_INSTALLATION_MEDIA_LONG], NAME);
|
||||
rc = newtWinMenu(ctr[TR_SELECT_INSTALLATION_MEDIA], message,
|
||||
50, 5, 5, 6, installtypes, &installtype, ctr[TR_OK],
|
||||
ctr[TR_CANCEL], NULL);
|
||||
}
|
||||
else {
|
||||
rc = 1;
|
||||
installtype = CDROM_INSTALL;
|
||||
}
|
||||
|
||||
if (rc == 2)
|
||||
goto EXIT;
|
||||
|
||||
|
||||
// Starting hardware detection
|
||||
runcommandwithstatus("/bin/probehw.sh", ctr[TR_PROBING_HARDWARE]);
|
||||
|
||||
switch (mysystem("/bin/mountsource.sh")) {
|
||||
case 0:
|
||||
installtype = CDROM_INSTALL;
|
||||
cdmounted = 1;
|
||||
break;
|
||||
case 1:
|
||||
installtype = DISK_INSTALL;
|
||||
break;
|
||||
case 10:
|
||||
errorbox(ctr[TR_NO_CDROM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
/* read source drive letter */
|
||||
if ((handle = fopen("/source_device", "r")) == NULL) {
|
||||
errorbox("ERROR reading source_device");
|
||||
}
|
||||
fgets(sourcedrive, 5, handle);
|
||||
fprintf(flog, "Source drive: %s\n", sourcedrive);
|
||||
fclose(handle);
|
||||
|
||||
if (installtype == CDROM_INSTALL) {
|
||||
snprintf(cdromparams.devnode, STRING_SIZE, "/dev/%s", sourcedrive);
|
||||
cdromparams.module = 0;
|
||||
fprintf(flog, "Source device: %s\n", cdromparams.devnode);
|
||||
}
|
||||
|
||||
/* Get device for the HD. This has to succeed. */
|
||||
if (!(hdletter = findidetype(IDE_HD)))
|
||||
{
|
||||
/* Need to clean this up at some point */
|
||||
if (!try_scsi("sda") || strstr(sourcedrive, "sda") != NULL) {
|
||||
if (!try_scsi("ida/c0d0")) {
|
||||
if (!try_scsi("cciss/c0d0")) {
|
||||
if (!try_scsi("rd/c0d0")) {
|
||||
if (!try_scsi("ataraid/d0")) {
|
||||
errorbox(ctr[TR_NO_HARDDISK]);
|
||||
goto EXIT;
|
||||
} else {
|
||||
raid_disk = 1;
|
||||
sprintf(harddrive, "ataraid/d0");
|
||||
}
|
||||
} else {
|
||||
raid_disk = 1;
|
||||
sprintf(harddrive, "rd/c0d0");
|
||||
}
|
||||
} else {
|
||||
raid_disk = 1;
|
||||
sprintf(harddrive, "cciss/c0d0");
|
||||
}
|
||||
} else {
|
||||
raid_disk = 1;
|
||||
sprintf(harddrive, "ida/c0d0");
|
||||
}
|
||||
} else {
|
||||
if (strstr(sourcedrive, "sda") != NULL) {
|
||||
// probably installing from usb stick, try sdb
|
||||
if (try_scsi("sdb")) {
|
||||
sprintf(harddrive, "sdb");
|
||||
}
|
||||
else {
|
||||
errorbox(ctr[TR_NO_HARDDISK]);
|
||||
goto EXIT;
|
||||
}
|
||||
}
|
||||
else {
|
||||
sprintf(harddrive, "sda");
|
||||
}
|
||||
}
|
||||
scsi_disk = 1;
|
||||
} else
|
||||
sprintf(harddrive, "hd%c", hdletter);
|
||||
|
||||
|
||||
/* load unattended configuration */
|
||||
if (unattended) {
|
||||
fprintf(flog, "unattended: Reading unattended.conf\n");
|
||||
|
||||
(void) readkeyvalues(unattendedkv, UNATTENDED_CONF);
|
||||
}
|
||||
|
||||
/* Make the hdparms struct and print the contents. */
|
||||
snprintf(hdparams.devnode, STRING_SIZE, "/dev/%s", harddrive);
|
||||
hdparams.module = 0;
|
||||
|
||||
sprintf(message, ctr[TR_PREPARE_HARDDISK], hdparams.devnode);
|
||||
|
||||
if (unattended) {
|
||||
hardyn = 1;
|
||||
}
|
||||
|
||||
while (! hardyn) {
|
||||
rc = newtWinMenu(title, message,
|
||||
50, 5, 5, 6, yesnoharddisk,
|
||||
&hardyn, ctr[TR_OK],
|
||||
ctr[TR_CANCEL], NULL);
|
||||
if (rc == 2)
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if (rc == 2)
|
||||
goto EXIT;
|
||||
|
||||
/* Calculate amount of memory in machine */
|
||||
if ((handle = fopen("/proc/meminfo", "r")))
|
||||
{
|
||||
while (fgets(line, STRING_SIZE-1, handle)) {
|
||||
if (sscanf (line, "MemTotal: %s kB", string)) {
|
||||
memory = atoi(string) / 1024 ;
|
||||
}
|
||||
}
|
||||
fclose(handle);
|
||||
}
|
||||
|
||||
/* Partition, mkswp, mkfs.
|
||||
* before partitioning, first determine the sizes of each
|
||||
* partition. In order to do that we need to know the size of
|
||||
* the disk.
|
||||
*/
|
||||
/* Don't use mysystem here so we can redirect output */
|
||||
sprintf(commandstring, "/bin/sfdisk -s /dev/%s > /disksize 2> /dev/null", harddrive);
|
||||
system(commandstring);
|
||||
|
||||
/* Calculate amount of disk space */
|
||||
if ((handle = fopen("/disksize", "r")))
|
||||
{
|
||||
fgets(line, STRING_SIZE-1, handle);
|
||||
if (sscanf (line, "%s", string)) {
|
||||
maximum_free = atoi(string) / 1024;
|
||||
}
|
||||
fclose(handle);
|
||||
}
|
||||
|
||||
fprintf(flog, "maximum_free = %ld, memory = %ld",
|
||||
maximum_free, memory);
|
||||
|
||||
swap_file = calc_swapsize(memory, maximum_free);
|
||||
|
||||
if (maximum_free < 512 + swap_file ) {
|
||||
if (maximum_free < 512) {
|
||||
errorbox(ctr[TR_DISK_TOO_SMALL]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if (!unattended) {
|
||||
rc = newtWinChoice(title, ctr[TR_OK], ctr[TR_CANCEL], ctr[TR_CONTINUE_NO_SWAP]);
|
||||
}
|
||||
else {
|
||||
rc = 1;
|
||||
}
|
||||
|
||||
if (rc != 1)
|
||||
goto EXIT;
|
||||
swap_file = 0;
|
||||
}
|
||||
|
||||
boot_partition = 10; /* in MB */
|
||||
current_free = maximum_free - boot_partition - swap_file;
|
||||
|
||||
root_partition = current_free / 3 ;
|
||||
if (current_free < 400) {
|
||||
errorbox(ctr[TR_DISK_TOO_SMALL]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
current_free = current_free - root_partition;
|
||||
if (!swap_file) {
|
||||
root_partition = root_partition + swap_file;
|
||||
}
|
||||
|
||||
log_partition = current_free;
|
||||
|
||||
fprintf(flog, "boot = %ld, swap = %ld, mylog = %ld, root = %ld\n",
|
||||
boot_partition, swap_file, log_partition, root_partition);
|
||||
|
||||
handle = fopen("/tmp/partitiontable", "w");
|
||||
|
||||
|
||||
/* Make swapfile */
|
||||
if (swap_file) {
|
||||
fprintf(handle, ",%ld,L,*\n,%ld,S,\n,%ld,L,\n,,L,\n",
|
||||
boot_partition, swap_file, root_partition);
|
||||
} else {
|
||||
fprintf(handle, ",%ld,L,*\n,0,0,\n,%ld,L,\n,,L,\n",
|
||||
boot_partition, root_partition);
|
||||
}
|
||||
|
||||
fclose(handle);
|
||||
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/sfdisk -L -uM %s < /tmp/partitiontable", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_PARTITIONING_DISK]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_PARTITION]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
mysystem("/bin/udevstart");
|
||||
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 -c %sp1", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 -c %s1", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MAKING_BOOT_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MAKE_BOOT_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if (swap_file) {
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mkswap %sp2", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mkswap %s2", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MAKING_SWAPSPACE]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MAKE_SWAPSPACE]);
|
||||
goto EXIT;
|
||||
}
|
||||
}
|
||||
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 %sp3", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 %s3", hdparams.devnode);
|
||||
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MAKING_ROOT_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MAKE_ROOT_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 %sp4", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext3 %s4", hdparams.devnode);
|
||||
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MAKING_LOG_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MAKE_ROOT_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
/* Mount harddisk. */
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %sp3 /harddisk", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %s3 /harddisk", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_ROOT_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MOUNT_ROOT_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
mkdir("/harddisk/boot", S_IRWXU|S_IRWXG|S_IRWXO);
|
||||
mkdir("/harddisk/var", S_IRWXU|S_IRWXG|S_IRWXO);
|
||||
mkdir("/harddisk/var/log", S_IRWXU|S_IRWXG|S_IRWXO);
|
||||
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %sp1 /harddisk/boot", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %s1 /harddisk/boot", hdparams.devnode);
|
||||
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_BOOT_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MOUNT_BOOT_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
if (swap_file) {
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/swapon %sp2", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/swapon %s2", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_SWAP_PARTITION]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MOUNT_SWAP_PARTITION]);
|
||||
goto EXIT;
|
||||
}
|
||||
}
|
||||
if (raid_disk)
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %sp4 /harddisk/var", hdparams.devnode);
|
||||
else
|
||||
snprintf(commandstring, STRING_SIZE, "/sbin/mount %s4 /harddisk/var", hdparams.devnode);
|
||||
if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_LOG_FILESYSTEM]))
|
||||
{
|
||||
errorbox(ctr[TR_UNABLE_TO_MOUNT_LOG_FILESYSTEM]);
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (installtype == CDROM_INSTALL)
|
||||
{
|
||||
/* First look for an IDE CDROM. */
|
||||
@@ -198,8 +721,8 @@ int main(int argc, char *argv[])
|
||||
/* try loading all SCSI modules with default options */
|
||||
/* Should expand this to allow options later though */
|
||||
if (!pcmcia_cdrom)
|
||||
runcommandwithstatus("/bin/probescsi.sh",
|
||||
ctr[TR_PROBING_SCSI]);
|
||||
runcommandwithstatus("/bin/probehw.sh",
|
||||
ctr[TR_PROBING_HARDWARE]);
|
||||
|
||||
/* If it fails, give up. */
|
||||
if (!(try_scsi("scd0"))) {
|
||||
@@ -208,14 +731,14 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(cdromdrive, "scd0");
|
||||
sprintf(sourcedrive, "scd0");
|
||||
scsi_cdrom = 1;
|
||||
} else {
|
||||
sprintf(cdromdrive, "hd%c", cdletter);
|
||||
sprintf(sourcedrive, "hd%c", cdletter);
|
||||
ide_cdrom = 1;
|
||||
}
|
||||
|
||||
snprintf(cdromparams.devnode, STRING_SIZE, "/dev/%s", cdromdrive);
|
||||
snprintf(cdromparams.devnode, STRING_SIZE, "/dev/%s", sourcedrive);
|
||||
cdromparams.module = 0;
|
||||
|
||||
sprintf(insertmessage, ctr[TR_INSERT_CDROM], NAME);
|
||||
@@ -418,8 +941,8 @@ int main(int argc, char *argv[])
|
||||
/* try loading all SCSI modules with default options */
|
||||
/* Should expand this to allow options later though */
|
||||
if (!pcmcia_disk)
|
||||
runcommandwithstatus("/bin/probescsi.sh",
|
||||
ctr[TR_PROBING_SCSI]);
|
||||
runcommandwithstatus("/bin/probehw.sh",
|
||||
ctr[TR_PROBING_HARDWARE]);
|
||||
}
|
||||
|
||||
/* Need to clean this up at some point */
|
||||
|
||||
30
src/install+setup/install/mountsource.sh
Normal file
30
src/install+setup/install/mountsource.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# to be banished by kudzu!
|
||||
#
|
||||
|
||||
echo "Scanning source media"
|
||||
|
||||
# scan CDROM devices
|
||||
|
||||
for DEVICE in $(kudzu -qps -t 30 -c CDROM | grep device: | cut -d ' ' -f 2 | sort | uniq); do
|
||||
mount /dev/${DEVICE} /cdrom 2> /dev/null
|
||||
if [ -e /cdrom/boot ]; then
|
||||
echo -n ${DEVICE} > /source_device
|
||||
exit 0
|
||||
fi
|
||||
umount /cdrom 2> /dev/null
|
||||
done
|
||||
|
||||
# scan HD device (usb sticks, etc.)
|
||||
for DEVICE in $(kudzu -qps -t 30 -c HD | grep device: | cut -d ' ' -f 2 | sort | uniq); do
|
||||
mount /dev/${DEVICE}1 /cdrom 2> /dev/null
|
||||
if [ -e /cdrom/boot ]; then
|
||||
echo -n ${DEVICE}1 > /source_device
|
||||
exit 1
|
||||
fi
|
||||
umount /cdrom 2> /dev/null
|
||||
done
|
||||
|
||||
exit 10
|
||||
21
src/install+setup/install/probehw.sh
Normal file
21
src/install+setup/install/probehw.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# to be banished by kudzu!
|
||||
#
|
||||
|
||||
echo "Detecting Hardware"
|
||||
for MODULE in $(kudzu -qps -t 30 | grep driver | cut -d ' ' -f 2 | sort | uniq); do
|
||||
if [ "${MODULE}" = "unknown" ] || \
|
||||
[ "${MODULE}" = "ignore" ]; then
|
||||
continue
|
||||
fi
|
||||
if grep -Eqe "^${MODULE} " /proc/modules; then
|
||||
continue
|
||||
fi
|
||||
echo "Loading ${MODULE}"
|
||||
modprobe -k ${MODULE}
|
||||
udevstart
|
||||
done
|
||||
|
||||
exit 0
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/bin/sh
|
||||
OLDDIR=`pwd`
|
||||
cd /lib/modules/*/kernel/drivers/scsi
|
||||
/bin/modprobe scsi_mod.o.gz > /dev/null 2>&1
|
||||
/bin/modprobe sd_mod.o.gz > /dev/null 2>&1
|
||||
/bin/modprobe sr_mod.o.gz > /dev/null 2>&1
|
||||
/bin/modprobe sg.o.gz > /dev/null 2>&1
|
||||
/bin/modprobe libata.o.gz > /dev/null 2>&1
|
||||
echo "Trying cpqarray";
|
||||
if /bin/modprobe cpqarray > /dev/null 2>&1; then
|
||||
echo "cpqarray.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
echo "Trying cciss";
|
||||
if /bin/modprobe cciss > /dev/null 2>&1; then
|
||||
echo "cciss.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
echo "Trying DAC960";
|
||||
if /bin/modprobe DAC960 > /dev/null 2>&1; then
|
||||
echo "DAC960.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
/bin/modprobe ataraid.o.gz > /dev/null 2>&1
|
||||
echo "Trying medley";
|
||||
if /bin/modprobe medley > /dev/null 2>&1; then
|
||||
echo "medley.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
echo "Trying hptraid";
|
||||
if /bin/modprobe hptraid > /dev/null 2>&1; then
|
||||
echo "hptraid.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
echo "Trying pdcraid";
|
||||
if /bin/modprobe pdcraid > /dev/null 2>&1; then
|
||||
echo "pdcraid.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
echo "Trying silraid";
|
||||
if /bin/modprobe silraid > /dev/null 2>&1; then
|
||||
echo "silraid.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
for i in * message/fusion/mptscsih.o.gz ;
|
||||
do
|
||||
# Skip the generic scsi modules and ancillary support modules
|
||||
# Added eata_dma to skip list because it crashes some machines. Probe last.
|
||||
if [ $i != "scsi_mod.o.gz" -a $i != "sd_mod.o.gz" -a $i != "sg.o.gz" -a $i != "sr_mod.o.gz" -a $i != "53c700.o.gz" -a $i != "NCR53C9x.o.gz" -a $i != "eata_dma.o.gz" -a $i != "libata.o.gz" ]; then
|
||||
DRIVER=`echo $i | sed 's/.o.gz//'`
|
||||
echo "Trying $DRIVER";
|
||||
if /bin/modprobe $DRIVER > /dev/null 2>&1; then
|
||||
echo $i > /scsidriver;
|
||||
/bin/cat /proc/scsi/scsi;
|
||||
exit 0;
|
||||
fi;
|
||||
fi;
|
||||
done
|
||||
echo "Trying eata_dma";
|
||||
if /bin/modprobe eata_dma > /dev/null 2>&1; then
|
||||
echo "eata_dma.o.gz" > /scsidriver;
|
||||
exit 0;
|
||||
fi
|
||||
cd $OLDDIR
|
||||
@@ -1,340 +0,0 @@
|
||||
/*
|
||||
* This file is part of the IPCop Firewall.
|
||||
*
|
||||
* IPCop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* IPCop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with IPCop; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Copyright 2002: Mark Wormgoor <mark@wormgoor.com>
|
||||
*
|
||||
* $Id: upgrade-v12-v13.c,v 1.2.2.3 2004/11/11 09:39:25 alanh Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
|
||||
void _convert_ppp_settings() {
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
char filename[STRING_SIZE];
|
||||
|
||||
dirp = opendir( "/harddisk/var/ipfire/ppp" );
|
||||
while ( (dp = readdir( dirp )) != NULL ) {
|
||||
if ( strstr( dp->d_name, "settings" ) == dp->d_name ) {
|
||||
snprintf (filename, STRING_SIZE-1, "%s/%s",
|
||||
"/harddisk/var/ipfire/ppp", dp->d_name);
|
||||
|
||||
/* reduce furthur replacements from commands below */
|
||||
replace (filename, "TYPE=modem", "");
|
||||
replace (filename, "COMPORT=ttyS0", "TYPE=modem\nCOMPORT=ttyS0");
|
||||
replace (filename, "COMPORT=ttyS1", "TYPE=modem\nCOMPORT=ttyS1");
|
||||
replace (filename, "COMPORT=ttyS2", "TYPE=modem\nCOMPORT=ttyS2");
|
||||
replace (filename, "COMPORT=ttyS3", "TYPE=modem\nCOMPORT=ttyS3");
|
||||
/* reduce furthur replacements from commands below */
|
||||
replace (filename, "TYPE=isdn", "");
|
||||
replace (filename, "COMPORT=isdn1", "TYPE=isdn\nCOMPORT=isdn1");
|
||||
replace (filename, "COMPORT=isdn2", "TYPE=isdn\nCOMPORT=isdn2");
|
||||
replace (filename, "COMPORT=pppoe", "TYPE=pppoe");
|
||||
replace (filename, "COMPORT=pptp", "TYPE=pptp");
|
||||
replace (filename, "COMPORT=usbadsl", "TYPE=alcatelusb");
|
||||
replace (filename, "COMPORT=pppoa", "TYPE=pulsardsl");
|
||||
|
||||
chown (filename, 99, 99);
|
||||
}
|
||||
}
|
||||
(void) closedir( dirp );
|
||||
}
|
||||
|
||||
int _convert_xtaccess() {
|
||||
int count=1, count2=0;
|
||||
FILE *portfw1, *portfw2;
|
||||
char portsrctemp[STRING_SIZE], portdsttemp[STRING_SIZE];
|
||||
char *portproto, *portsrcip, *portsrcport, *portdstip, *portdstport, *portenabled, *portremip;
|
||||
|
||||
FILE *xtaccess1, *xtaccess2;
|
||||
char xtsrctemp[STRING_SIZE], xtdsttemp[STRING_SIZE];
|
||||
char *xtproto, *xtsrcip, *xtdstip, *xtdstport, *xtenabled;
|
||||
|
||||
if (!(portfw1 = fopen ("/harddisk/var/ipfire/portfw/config", "r"))) return 1;
|
||||
if (!(portfw2 = fopen ("/harddisk/var/ipfire/portfw/config.new", "w")))
|
||||
{
|
||||
fclose(portfw1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
while (fgets (portsrctemp, STRING_SIZE, portfw1) != NULL) {
|
||||
count2 = 0;
|
||||
portproto = NULL;
|
||||
portsrcip = NULL;
|
||||
portsrcport = NULL;
|
||||
portdstip = NULL;
|
||||
portdstport = NULL;
|
||||
portremip = NULL;
|
||||
portenabled = NULL;
|
||||
|
||||
if (!(xtaccess1 = fopen ("/harddisk/var/ipfire/xtaccess/config", "r")))
|
||||
{
|
||||
fclose(portfw1);
|
||||
fclose(portfw2);
|
||||
return 1;
|
||||
}
|
||||
if (!(xtaccess2 = fopen ("/harddisk/var/ipfire/xtaccess/config.new", "w")))
|
||||
{
|
||||
fclose(portfw1);
|
||||
fclose(portfw2);
|
||||
fclose(xtaccess1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (isdigit (portsrctemp[0])) {
|
||||
/* Already converted to new format */
|
||||
fputs(portsrctemp, portfw2);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (portsrctemp[strlen(portsrctemp) - 1] == '\n')
|
||||
portsrctemp[strlen(portsrctemp) - 1] = '\0';
|
||||
portproto = strtok (portsrctemp, ",");
|
||||
portsrcport = strtok (NULL, ",");
|
||||
portdstip = strtok (NULL, ",");
|
||||
portdstport = strtok (NULL, ",");
|
||||
portenabled = strtok (NULL, ",");
|
||||
portsrcip = strtok (NULL, ",");
|
||||
portremip = strtok (NULL, ",");
|
||||
if (!(portproto && portsrcport && portdstip &&
|
||||
portdstport && portenabled ))
|
||||
continue;
|
||||
|
||||
if (portsrcip == NULL) portsrcip = strdup ("0.0.0.0");
|
||||
|
||||
while (fgets (xtsrctemp, STRING_SIZE, xtaccess1)) {
|
||||
xtproto = NULL;
|
||||
xtsrcip = NULL;
|
||||
xtdstip = NULL;
|
||||
xtdstport = NULL;
|
||||
xtenabled = NULL;
|
||||
|
||||
if (xtsrctemp[strlen(xtsrctemp) - 1] == '\n')
|
||||
xtsrctemp[strlen(xtsrctemp) - 1] = '\0';
|
||||
xtproto = strtok (xtsrctemp, ",");
|
||||
xtsrcip = strtok (NULL, ",");
|
||||
xtdstport = strtok (NULL, ",");
|
||||
xtenabled = strtok (NULL, ",");
|
||||
xtdstip = strtok (NULL, ",");
|
||||
if (!(xtproto && xtsrcip && xtdstport && xtenabled)) continue;
|
||||
|
||||
if (xtdstip == NULL) xtdstip = strdup ("0.0.0.0");
|
||||
|
||||
if (strcmp (portproto, xtproto) == 0 &&
|
||||
strcmp (portsrcport, xtdstport) == 0 &&
|
||||
strcmp (portsrcip, xtdstip) == 0) {
|
||||
portremip = strdup (xtsrcip);
|
||||
if ((strcmp (portremip, "0.0.0.0/0") == 0) && (count2 == 0)) {
|
||||
sprintf (portdsttemp, "%d,%d,%s,%s,%s,%s,%s,%s,%s\n",
|
||||
count, count2, portproto, portsrcport, portdstip,
|
||||
portdstport, portenabled, portsrcip, portremip);
|
||||
fputs(portdsttemp, portfw2);
|
||||
} else {
|
||||
if (count2 == 0) {
|
||||
sprintf (portdsttemp, "%d,%d,%s,%s,%s,%s,%s,%s,%d\n",
|
||||
count,count2,portproto, portsrcport, portdstip,
|
||||
portdstport, portenabled, portsrcip, 0);
|
||||
fputs(portdsttemp, portfw2);
|
||||
count2++;
|
||||
}
|
||||
sprintf (portdsttemp, "%d,%d,%s,%d,%s,%s,%s,%d,%s\n",
|
||||
count,count2,portproto, 0, portdstip,
|
||||
portdstport, portenabled, 0, portremip);
|
||||
fputs(portdsttemp, portfw2);
|
||||
}
|
||||
count2++;
|
||||
} else {
|
||||
sprintf (xtdsttemp, "%s,%s,%s,%s,%s\n",
|
||||
xtproto, xtsrcip, xtdstport, xtenabled, xtdstip);
|
||||
fputs(xtdsttemp, xtaccess2);
|
||||
}
|
||||
}
|
||||
|
||||
/* Close source and destination xtaccess files */
|
||||
fclose (xtaccess1);
|
||||
fclose (xtaccess2);
|
||||
|
||||
/* Move the new xtaccess file */
|
||||
rename ("/harddisk/var/ipfire/xtaccess/config.new",
|
||||
"/harddisk/var/ipfire/xtaccess/config");
|
||||
|
||||
/* If no external access line existed, add a no access line */
|
||||
if (count2 == 0) {
|
||||
if (portremip == NULL) portremip = strdup ("127.0.0.1/32");
|
||||
|
||||
/* Print new port forwarding line to file */
|
||||
sprintf (portdsttemp, "%d,%d,%s,%s,%s,%s,%s,%s,%s\n",
|
||||
count, count2, portproto, portsrcport, portdstip,
|
||||
portdstport, portenabled, portsrcip, portremip);
|
||||
fputs(portdsttemp, portfw2);
|
||||
}
|
||||
count++;
|
||||
}
|
||||
|
||||
/* Close source and destination portfw files */
|
||||
fclose (portfw1);
|
||||
fclose (portfw2);
|
||||
|
||||
/* Move the new portfw file */
|
||||
rename ("/harddisk/var/ipfire/portfw/config.new",
|
||||
"/harddisk/var/ipfire/portfw/config");
|
||||
chown ("/harddisk/var/ipfire/xtaccess/config", 99, 99);
|
||||
chown ("/harddisk/var/ipfire/portfw/config", 99, 99);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _convert_pulsardsl() {
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
char filename[STRING_SIZE];
|
||||
FILE *settings, *pulsardsl;
|
||||
char line[STRING_SIZE];
|
||||
|
||||
if (!(pulsardsl = fopen ("/harddisk/var/ipfire/pciadsl/settings", "r"))) return 1;
|
||||
|
||||
dirp = opendir( "/harddisk/var/ipfire/ppp" );
|
||||
while ( (dp = readdir( dirp )) != NULL ) {
|
||||
if ( strstr( dp->d_name, "settings" ) == dp->d_name ) {
|
||||
snprintf (filename, STRING_SIZE-1, "%s/%s",
|
||||
"/harddisk/var/ipfire/ppp", dp->d_name);
|
||||
if (!(settings = fopen (filename, "r+"))) {
|
||||
closedir(dirp);
|
||||
fclose(pulsardsl);
|
||||
return 1;
|
||||
}
|
||||
while (fgets (line, STRING_SIZE, settings) != NULL) {
|
||||
if (strstr (line, "TYPE=pulsardsl") == line) {
|
||||
fseek(settings,0,SEEK_END);
|
||||
rewind(pulsardsl);
|
||||
while (fgets(line, STRING_SIZE, pulsardsl) != NULL) {
|
||||
fputs (line, settings);
|
||||
}
|
||||
fclose (settings);
|
||||
chown (filename, 99, 99);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose(pulsardsl);
|
||||
(void) closedir( dirp );
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _convert_pulsardsl_ethernet() {
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
FILE *ethernet, *settings;
|
||||
char line[STRING_SIZE];
|
||||
char type[STRING_SIZE];
|
||||
char ip[STRING_SIZE];
|
||||
char filename[STRING_SIZE];
|
||||
|
||||
if (!(ethernet = fopen ("/harddisk/var/ipfire/ethernet/settings", "r"))) return 1;
|
||||
|
||||
while (fgets (line, STRING_SIZE, ethernet) != NULL) {
|
||||
if (strstr (line, "RED_DRIVER=pciadsl") == line) {
|
||||
rewind (ethernet);
|
||||
while (fgets (line, STRING_SIZE, ethernet) != NULL) {
|
||||
if (strstr (line, "RED_TYPE") == line) {
|
||||
strcpy (type, line + 9*sizeof(char));
|
||||
if (type[strlen(type) - 1] == '\n')
|
||||
type[strlen(type) - 1] = '\0';
|
||||
}
|
||||
if (strstr (line, "RED_ADDRESS") == line) {
|
||||
strcpy (ip, line + 12*sizeof(char));
|
||||
if (ip[strlen(ip) - 1] == '\n')
|
||||
type[strlen(ip) - 1] = '\0';
|
||||
}
|
||||
fclose (ethernet);
|
||||
|
||||
replace ("/harddisk/var/ipfire/ethernet/settings", "RED_DEV=eth1", "RED_DEV=");
|
||||
replace ("/harddisk/var/ipfire/ethernet/settings", "CONFIG_TYPE=2", "CONFIG_TYPE=0");
|
||||
replace ("/harddisk/var/ipfire/ethernet/settings", "CONFIG_TYPE=3", "CONFIG_TYPE=1");
|
||||
replace ("/harddisk/var/ipfire/ethernet/settings", "RED_DEV=eth2", "RED_DEV=");
|
||||
chown ("/harddisk/var/ipfire/ethernet/settings", 99, 99);
|
||||
|
||||
dirp = opendir( "/harddisk/var/ipfire/ppp" );
|
||||
while ( (dp = readdir( dirp )) != NULL ) {
|
||||
if ( strstr( dp->d_name, "settings-" ) == dp->d_name ) {
|
||||
snprintf (filename, STRING_SIZE-1, "%s/%s",
|
||||
"/harddisk/var/ipfire/ppp", dp->d_name);
|
||||
if (!(settings = fopen (filename, "r+")))
|
||||
{
|
||||
closedir(dirp);
|
||||
return 1;
|
||||
}
|
||||
while (fgets (line, STRING_SIZE, settings) != NULL) {
|
||||
if (strstr (line, "TYPE=pulsardsl") == line) {
|
||||
fseek(settings,0,SEEK_END);
|
||||
fprintf (settings, "METHOD=%s\n", type);
|
||||
fprintf (settings, "IP=%s\n", ip);
|
||||
fclose (settings);
|
||||
chown (filename, 99, 99);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
(void) closedir( dirp );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int upgrade_v12_v13() {
|
||||
struct stat s;
|
||||
replace ("/harddisk/var/ipfire/ethernet/settings", "rtl8139", "8139too");
|
||||
replace ("/harddisk/var/ipfire/vpn/ipsec.conf", "auto=add", "auto=start");
|
||||
chown ("/harddisk/var/ipfire/vpn/ipsec.conf", 99, 99);
|
||||
chown ("/harddisk/var/ipfire/ethernet/settings", 99, 99);
|
||||
chown ("/harddisk/var/ipfire/main/settings", 99, 99);
|
||||
_convert_ppp_settings();
|
||||
_convert_xtaccess();
|
||||
_convert_pulsardsl();
|
||||
_convert_pulsardsl_ethernet();
|
||||
|
||||
/* Rename usbadsl directory */
|
||||
stat ("/harddisk/var/ipfire/usbadsl", &s);
|
||||
if (S_ISDIR(s.st_mode)) {
|
||||
remove ("/harddisk/var/ipfire/usbadsl/settings");
|
||||
if (! system("/bin/chroot /harddisk /bin/rm -rf /var/ipfire/alcatelusb"))
|
||||
rename ("/harddisk/var/ipfire/usbadsl", "/harddisk/var/ipfire/alcatelusb");
|
||||
}
|
||||
|
||||
/* Rename pciadsl module and directory */
|
||||
remove ("/harddisk/var/ipfire/pulsar/settings");
|
||||
rename ("/harddisk/var/ipfire/pciadsl/pciadsl.o", "/harddisk/var/ipfire/pciadsl/pulsar.o");
|
||||
stat ("/harddisk/var/ipfire/pciadsl", &s);
|
||||
if (S_ISDIR(s.st_mode)) {
|
||||
if (! system("/bin/chroot /harddisk /bin/rm -rf /var/ipfire/pulsardsl"))
|
||||
rename ("/harddisk/var/ipfire/pciadsl", "/harddisk/var/ipfire/pulsardsl");
|
||||
}
|
||||
|
||||
/* Change squid cache directory */
|
||||
replace ("/harddisk/var/ipfire/proxy/squid.conf", "/var/spool/squid", "/var/log/cache");
|
||||
chown ("/harddisk/var/ipfire/proxy/squid.conf", 99, 99);
|
||||
|
||||
/* Change setup user shell */
|
||||
replace ("/harddisk/etc/passwd", ":/usr/local/sbin/setup", ":/bin/bash -c /usr/local/sbin/setup");
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,577 +0,0 @@
|
||||
/*
|
||||
* This file is part of the IPCop Firewall.
|
||||
*
|
||||
* IPCop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* IPCop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with IPCop; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Copyright 2002: Mark Wormgoor <mark@wormgoor.com>
|
||||
*
|
||||
* $Id: upgrade-v130-v140.c,v 1.12.2.35 2004/11/11 09:40:03 alanh Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include "install.h"
|
||||
|
||||
extern char **ctr;
|
||||
|
||||
int _handledomainname(void)
|
||||
{
|
||||
char domainname[STRING_SIZE] = "localdomain";
|
||||
struct keyvalue *kv = initkeyvalues();
|
||||
char *values[] = { domainname, NULL }; /* pointers for the values. */
|
||||
struct newtWinEntry entries[] =
|
||||
{ { "", &values[0], 0,}, { NULL, NULL, 0 } };
|
||||
int rc;
|
||||
int result;
|
||||
|
||||
if (!(readkeyvalues(kv, "/harddisk" CONFIG_ROOT "/main/settings")))
|
||||
{
|
||||
freekeyvalues(kv);
|
||||
errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
findkey(kv, "DOMAINNAME", domainname);
|
||||
|
||||
/* already have a domainname */
|
||||
if (strlen(domainname))
|
||||
return 0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
rc = newtWinEntries(ctr[TR_DOMAINNAME], ctr[TR_ENTER_DOMAINNAME],
|
||||
50, 5, 5, 40, entries, ctr[TR_OK], ctr[TR_CANCEL], NULL);
|
||||
|
||||
if (rc == 1)
|
||||
{
|
||||
strcpy(domainname, values[0]);
|
||||
if (strchr(domainname, ' '))
|
||||
errorbox(ctr[TR_DOMAINNAME_CANNOT_CONTAIN_SPACES]);
|
||||
else
|
||||
{
|
||||
replacekeyvalue(kv, "DOMAINNAME", domainname);
|
||||
writekeyvalues(kv, "/harddisk" CONFIG_ROOT "/main/settings");
|
||||
result = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
free(values[0]);
|
||||
freekeyvalues(kv);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int _add_logwatch_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel logwatch");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel logwatch");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 102 logwatch");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 102 -g logwatch -d /var/log/logwatch -s /bin/false logwatch");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _fixsquid() {
|
||||
FILE *squidreadfile;
|
||||
FILE *squidwritefile;
|
||||
FILE *aclreadfile;
|
||||
char hostname[STRING_SIZE] = "";
|
||||
char domainname[STRING_SIZE] = "";
|
||||
char squidtemp[STRING_SIZE];
|
||||
struct keyvalue *kv = initkeyvalues();
|
||||
int already_upgraded = 0;
|
||||
int updated = 0;
|
||||
|
||||
if (!(squidreadfile = fopen ("/harddisk" CONFIG_ROOT "/proxy/squid.conf", "r"))) return 1;
|
||||
if (!(squidwritefile = fopen ("/harddisk" CONFIG_ROOT "/proxy/squid.conf.new", "w")))
|
||||
{
|
||||
fclose(squidreadfile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!(readkeyvalues(kv, "/harddisk" CONFIG_ROOT "/main/settings")))
|
||||
{
|
||||
fclose (squidwritefile);
|
||||
fclose (squidreadfile);
|
||||
freekeyvalues(kv);
|
||||
errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
findkey(kv, "HOSTNAME", hostname);
|
||||
findkey(kv, "DOMAINNAME", domainname);
|
||||
freekeyvalues(kv);
|
||||
|
||||
while (fgets (squidtemp, STRING_SIZE, squidreadfile) != NULL) {
|
||||
/* this will fail if we've already been upgraded, which is ok */
|
||||
if (!strncmp(squidtemp, "reply_body_max_size 0 KB", 24)) {
|
||||
sprintf(squidtemp, "reply_body_max_size 0 allow all\n");
|
||||
}
|
||||
if (!strncmp(squidtemp, "cache_store_log /var/log/squid/store.log", 40)) {
|
||||
sprintf(squidtemp, "cache_store_log none\n");
|
||||
}
|
||||
fputs(squidtemp, squidwritefile);
|
||||
|
||||
/* so for us developers we skip already upgraded squiddies */
|
||||
if (!strncmp(squidtemp, "visible_hostname", 16)) {
|
||||
already_upgraded = 1;
|
||||
}
|
||||
|
||||
/* Check for the new acl's */
|
||||
if (!strncmp(squidtemp, "__GREEN_IP__", 12)) {
|
||||
updated = 1;
|
||||
}
|
||||
}
|
||||
if (!already_upgraded) {
|
||||
sprintf(squidtemp, "visible_hostname %s.%s\n", hostname, domainname);
|
||||
fputs(squidtemp, squidwritefile);
|
||||
}
|
||||
|
||||
fclose (squidwritefile);
|
||||
fclose (squidreadfile);
|
||||
|
||||
rename ("/harddisk" CONFIG_ROOT "/proxy/squid.conf.new",
|
||||
"/harddisk" CONFIG_ROOT "/proxy/squid.conf");
|
||||
|
||||
replace("/harddisk" CONFIG_ROOT "/proxy/squid.conf", "cache_dir ufs", "cache_dir aufs");
|
||||
|
||||
if (!updated) {
|
||||
rename ("/harddisk" CONFIG_ROOT "/proxy/acl",
|
||||
"/harddisk" CONFIG_ROOT "/proxy/acl.old");
|
||||
rename ("/harddisk" CONFIG_ROOT "/proxy/acl-1.4",
|
||||
"/harddisk" CONFIG_ROOT "/proxy/acl");
|
||||
} else {
|
||||
if (!(aclreadfile = fopen ("/harddisk" CONFIG_ROOT "/proxy/acl", "r"))) {
|
||||
rename ("/harddisk" CONFIG_ROOT "/proxy/acl-1.4",
|
||||
"/harddisk" CONFIG_ROOT "/proxy/acl");
|
||||
} else {
|
||||
unlink ("/harddisk" CONFIG_ROOT "/proxy/acl-1.4");
|
||||
fclose(aclreadfile);
|
||||
}
|
||||
}
|
||||
|
||||
chown ("/harddisk" CONFIG_ROOT "/proxy/squid.conf", 99, 99);
|
||||
chown ("/harddisk" CONFIG_ROOT "/proxy/acl", 99, 99);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _fixeagleusb() {
|
||||
FILE *eaglereadfile;
|
||||
FILE *eaglewritefile;
|
||||
char eagletemp[STRING_SIZE];
|
||||
int already_upgraded = 0;
|
||||
|
||||
if (!(eaglereadfile = fopen ("/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf", "r"))) return 1;
|
||||
if (!(eaglewritefile = fopen ("/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf.new", "w")))
|
||||
{
|
||||
fclose(eaglereadfile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
while (fgets (eagletemp, STRING_SIZE, eaglereadfile) != NULL) {
|
||||
/* so for us developers we skip already upgraded configs */
|
||||
if (!strncmp(eagletemp, "<eaglectrl>", 11)) {
|
||||
already_upgraded = 1;
|
||||
}
|
||||
}
|
||||
|
||||
rewind(eaglereadfile);
|
||||
if (!already_upgraded)
|
||||
fprintf(eaglewritefile, "<eaglectrl>\n");
|
||||
while (fgets (eagletemp, STRING_SIZE, eaglereadfile) != NULL)
|
||||
fputs(eagletemp, eaglewritefile);
|
||||
if (!already_upgraded)
|
||||
fprintf(eaglewritefile, "</eaglectrl>\n");
|
||||
|
||||
fclose (eaglewritefile);
|
||||
fclose (eaglereadfile);
|
||||
|
||||
rename ("/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf.new",
|
||||
"/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf");
|
||||
|
||||
replace("/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf", "Linetype=00000001", "Linetype=0A");
|
||||
|
||||
chown ("/harddisk" CONFIG_ROOT "/eagle-usb/eagle-usb.conf", 99, 99);
|
||||
unlink("/harddisk" CONFIG_ROOT "/eagle-usb/dsp_code_pots.bin");
|
||||
unlink("/harddisk" CONFIG_ROOT "/eagle-usb/dsp_code_isdn.bin");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _fixdhcp_30() {
|
||||
FILE *dhcpreadfile;
|
||||
FILE *dhcpwritefile;
|
||||
char dhcptemp[STRING_SIZE];
|
||||
|
||||
if (!(dhcpreadfile = fopen ("/harddisk" CONFIG_ROOT "/dhcp/dhcpd.conf", "r"))) return 1;
|
||||
if (!(dhcpwritefile = fopen ("/harddisk" CONFIG_ROOT "/dhcp/dhcpd.conf.new", "w")))
|
||||
{
|
||||
fclose(dhcpreadfile);
|
||||
return 1;
|
||||
}
|
||||
fprintf (dhcpwritefile, "authoritative;\n");
|
||||
fprintf (dhcpwritefile, "deny bootp;\n");
|
||||
fprintf (dhcpwritefile, "ddns-update-style none;\n");
|
||||
while (fgets (dhcptemp, STRING_SIZE, dhcpreadfile) != NULL) {
|
||||
int write = 1;
|
||||
|
||||
/* so for us developers we skip already upgraded dhcp files */
|
||||
if (!strncmp(dhcptemp, "authoritative", 13)) {
|
||||
write = 0;
|
||||
}
|
||||
/* so for us developers we skip already upgraded dhcp files */
|
||||
if (!strncmp(dhcptemp, "ddns-update-style", 17)) {
|
||||
write = 0;
|
||||
}
|
||||
/* so for us developers we skip already upgraded dhcp files */
|
||||
if (!strncmp(dhcptemp, "deny bootp", 10)) {
|
||||
write = 0;
|
||||
}
|
||||
|
||||
if (write)
|
||||
fputs(dhcptemp, dhcpwritefile);
|
||||
}
|
||||
|
||||
fclose(dhcpreadfile);
|
||||
fclose(dhcpwritefile);
|
||||
|
||||
rename ("/harddisk" CONFIG_ROOT "/dhcp/dhcpd.conf.new",
|
||||
"/harddisk" CONFIG_ROOT "/dhcp/dhcpd.conf");
|
||||
chown ("/harddisk" CONFIG_ROOT "/dhcp/dhcpd.conf", 99, 99);
|
||||
|
||||
/* This one will get converted again furthur down */
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "WINS=", "WINS1=");
|
||||
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "START_ADDR=", "START_ADDR_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "END_ADDR=", "END_ADDR_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "DOMAIN_NAME=", "DOMAIN_NAME_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "DEFAULT_LEASE_TIME=", "DEFAULT_LEASE_TIME_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "MAX_LEASE_TIME=", "MAX_LEASE_TIME_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "DNS1=", "DNS1_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "DNS2=", "DNS2_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "WINS1=", "WINS1_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "WINS2=", "WINS2_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "ENABLE=", "ENABLE_GREEN=");
|
||||
replace("/harddisk" CONFIG_ROOT "/dhcp/settings", "range dynamic-bootp", "range");
|
||||
chown ("/harddisk" CONFIG_ROOT "/dhcp/settings", 99, 99);
|
||||
|
||||
if ((dhcpreadfile = fopen ("/harddisk" CONFIG_ROOT "/dhcp/enable", "r")))
|
||||
{
|
||||
fclose(dhcpreadfile);
|
||||
rename ("/harddisk" CONFIG_ROOT "/dhcp/enable",
|
||||
"/harddisk" CONFIG_ROOT "/dhcp/enable_green");
|
||||
chown ("/harddisk" CONFIG_ROOT "/dhcp/enable_green", 99, 99);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _add_sshd_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel sshd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel sshd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 74 sshd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 74 -g sshd -d /var/empty/sshd -s /bin/false -M sshd");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _add_dnsmasq_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel dnsmasq");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel dnsmasq");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 103 dnsmasq");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 103 -g dnsmasq -d / -s /bin/false -M dnsmasq");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _add_cron_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel cron");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel cron");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 104 cron");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 104 -g cron -d / -s /bin/false -M cron");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _add_sysklogd_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel syslogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel syslogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 105 syslogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 105 -g syslogd -d / -s /bin/false -M syslogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel klogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel klogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupadd -g 106 klogd");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/useradd -u 106 -g klogd -d / -s /bin/false -M klogd");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _del_setup_user() {
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel setup");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _create_nobody_dir(){
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/usermod -d /home/nobody nobody");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _del_useless_user_group()
|
||||
{
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel games");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel games");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel news");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel news");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel ftp");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel gopher");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel lp");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel uucp");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel adm");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel adm");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel operator");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel sync");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel shutdown");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/userdel halt");
|
||||
mysystem("/bin/chroot /harddisk /usr/sbin/groupdel man");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _del_pulsardsl_dir()
|
||||
{
|
||||
mysystem("/bin/chroot /harddisk /bin/rm -rf " CONFIG_ROOT "/pulsardsl");
|
||||
}
|
||||
|
||||
void _del_fritzdsl_dir()
|
||||
{
|
||||
mysystem("/bin/chroot /harddisk /bin/rm -rf " CONFIG_ROOT "/fritzdsl");
|
||||
}
|
||||
|
||||
int _convert_vpn() {
|
||||
int count=1;
|
||||
FILE *vpn1, *vpn2;
|
||||
char vpnip[STRING_SIZE] = "";
|
||||
char greennetaddr[STRING_SIZE] = "";
|
||||
struct keyvalue *kv = initkeyvalues();
|
||||
char vpnsrctemp[STRING_SIZE], vpndsttemp[STRING_SIZE];
|
||||
char *name, *left, *left_nexthop, *left_subnet, *right, *right_nexthop, *right_subnet, *secret, *enabled, *compression;
|
||||
|
||||
if (!(vpn1 = fopen ("/harddisk" CONFIG_ROOT "/vpn/config", "r"))) return 1;
|
||||
if (!(vpn2 = fopen ("/harddisk" CONFIG_ROOT "/vpn/config.new", "w")))
|
||||
{
|
||||
fclose(vpn1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!(readkeyvalues(kv, "/harddisk" CONFIG_ROOT "/ethernet/settings")))
|
||||
{
|
||||
fclose (vpn1);
|
||||
fclose (vpn2);
|
||||
freekeyvalues(kv);
|
||||
errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
findkey(kv, "GREEN_NETADDRESS", greennetaddr);
|
||||
freekeyvalues(kv);
|
||||
|
||||
kv = initkeyvalues();
|
||||
if (!(readkeyvalues(kv, "/harddisk" CONFIG_ROOT "/vpn/settings")))
|
||||
{
|
||||
fclose (vpn1);
|
||||
fclose (vpn2);
|
||||
freekeyvalues(kv);
|
||||
errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* if no VPN_IP is defined, we must turn it off to force the user
|
||||
* to enter a value once upgraded */
|
||||
findkey(kv, "VPN_IP", vpnip);
|
||||
if (strlen(vpnip) == 0) {
|
||||
replacekeyvalue(kv, "ENABLED", "off");
|
||||
writekeyvalues(kv, "/harddisk" CONFIG_ROOT "/vpn/settings");
|
||||
}
|
||||
freekeyvalues(kv);
|
||||
|
||||
while (fgets (vpnsrctemp, STRING_SIZE, vpn1) != NULL) {
|
||||
if (isdigit (vpnsrctemp[0])) {
|
||||
/* Already converted to new format */
|
||||
fputs(vpnsrctemp, vpn2);
|
||||
continue;
|
||||
}
|
||||
|
||||
name = NULL;
|
||||
left = NULL;
|
||||
left_nexthop = NULL;
|
||||
left_subnet = NULL;
|
||||
right = NULL;
|
||||
right_nexthop = NULL;
|
||||
right_subnet = NULL;
|
||||
secret = NULL;
|
||||
enabled = NULL;
|
||||
compression = NULL;
|
||||
|
||||
if (vpnsrctemp[strlen(vpnsrctemp) - 1] == '\n')
|
||||
vpnsrctemp[strlen(vpnsrctemp) - 1] = '\0';
|
||||
name = strtok (vpnsrctemp, ",");
|
||||
left = strtok (NULL, ",");
|
||||
left_nexthop = strtok (NULL, ",");
|
||||
left_subnet = strtok (NULL, ",");
|
||||
right = strtok (NULL, ",");
|
||||
right_nexthop = strtok (NULL, ",");
|
||||
right_subnet = strtok (NULL, ",");
|
||||
secret = strtok (NULL, ",");
|
||||
enabled = strtok (NULL, ",");
|
||||
compression = strtok (NULL, ",");
|
||||
if (!(name && left && left_subnet &&
|
||||
right && right_subnet &&
|
||||
secret && enabled && compression ))
|
||||
continue;
|
||||
|
||||
/* Try and guess what side IPCop is on; defaults to left */
|
||||
if (strstr(greennetaddr, right_subnet)) {
|
||||
sprintf (vpndsttemp, "%d,%s,%s,,net,psk,%s,right,,%s,,%s,%s,,%s,,,,,,,,,,,,,RED\n",
|
||||
count, enabled, name, secret, right_subnet,
|
||||
left, left_subnet, compression);
|
||||
} else {
|
||||
sprintf (vpndsttemp, "%d,%s,%s,,net,psk,%s,left,,%s,,%s,%s,,%s,,,,,,,,,,,,,RED\n",
|
||||
count, enabled, name, secret, left_subnet,
|
||||
right, right_subnet, compression);
|
||||
}
|
||||
fputs(vpndsttemp, vpn2);
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
/* Close source and destination vpn files */
|
||||
fclose (vpn1);
|
||||
fclose (vpn2);
|
||||
|
||||
/* Move the new vpn file */
|
||||
rename ("/harddisk" CONFIG_ROOT "/vpn/config.new",
|
||||
"/harddisk" CONFIG_ROOT "/vpn/config");
|
||||
chown ("/harddisk" CONFIG_ROOT "/vpn/config", 99, 99);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _convert_ppp_settings_V140() {
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
char filename[STRING_SIZE];
|
||||
|
||||
dirp = opendir( "/harddisk" CONFIG_ROOT "/ppp" );
|
||||
while ( (dp = readdir( dirp )) != NULL ) {
|
||||
if ( strstr( dp->d_name, "settings" ) == dp->d_name ) {
|
||||
snprintf (filename, STRING_SIZE-1, "%s/%s",
|
||||
"/harddisk" CONFIG_ROOT "/ppp", dp->d_name);
|
||||
replace (filename, "PERSISTENT=on", "RECONNECTION=persistent");
|
||||
replace (filename, "DIALONDEMAND=on", "RECONNECTION=dialondemand");
|
||||
replace (filename, "MODULATION=GDTM", "MODULATION=GDMT");
|
||||
chown (filename, 99, 99);
|
||||
}
|
||||
}
|
||||
(void) closedir( dirp );
|
||||
}
|
||||
|
||||
void _convert_net_settings_V140(){
|
||||
replace ("/harddisk" CONFIG_ROOT "/ethernet/settings", "eepro100", "e100");
|
||||
chown ("/harddisk" CONFIG_ROOT "/ethernet/settings", 99, 99);
|
||||
}
|
||||
|
||||
void _convert_keymap() {
|
||||
replace("/harddisk" CONFIG_ROOT "/main/settings", "KEYMAP=/lib/kbd", "KEYMAP=/usr/share/kbd");
|
||||
replace("/harddisk" CONFIG_ROOT "/main/settings", ".kmap.gz", ".map.gz");
|
||||
chown ("/harddisk" CONFIG_ROOT "/main/settings", 99, 99);
|
||||
}
|
||||
|
||||
void _convert_speedtouch() {
|
||||
FILE *speedtchbootfile;
|
||||
FILE *speedtchfirmfile;
|
||||
|
||||
if (( speedtchfirmfile = fopen ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v4.bin", "r")))
|
||||
{
|
||||
fclose (speedtchfirmfile);
|
||||
if ((speedtchbootfile = fopen ("/harddisk" CONFIG_ROOT "/alcatelusb/boot.v4.bin", "r"))) {
|
||||
fclose (speedtchbootfile);
|
||||
system("/bin/cat /harddisk" CONFIG_ROOT "/alcatelusb/boot.v4.bin "
|
||||
"/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v4.bin"
|
||||
"> /harddisk" CONFIG_ROOT "/alcatelusb/firmware.v4_b.bin");
|
||||
remove ("/harddisk" CONFIG_ROOT "/alcatelusb/boot.v4.bin");
|
||||
remove ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v4.bin");
|
||||
chown ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v4_b.bin", 99, 99);
|
||||
}
|
||||
}
|
||||
|
||||
if (( speedtchfirmfile = fopen ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v123.bin", "r"))) {
|
||||
fclose (speedtchfirmfile);
|
||||
system("/bin/cat /harddisk" CONFIG_ROOT "/alcatelusb/boot.v123.bin "
|
||||
"/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v123.bin"
|
||||
"> /harddisk" CONFIG_ROOT "/alcatelusb/firmware.v0123.bin");
|
||||
remove ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v123.bin");
|
||||
}
|
||||
|
||||
remove ("/harddisk" CONFIG_ROOT "/alcatelusb/boot.v123.bin");
|
||||
|
||||
rename ("/harddisk" CONFIG_ROOT "/alcatelusb/mgmt.o", "/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v0123.bin");
|
||||
chown ("/harddisk" CONFIG_ROOT "/alcatelusb/firmware.v0123.bin", 99, 99);
|
||||
}
|
||||
|
||||
void _convert_isapnp() {
|
||||
FILE *isapnpfile;
|
||||
|
||||
mkdir ("/harddisk" CONFIG_ROOT "/isapnp", S_IRWXU|S_IRWXG|S_IRWXO );
|
||||
if (( isapnpfile = fopen ("/harddisk/etc/isapnp.conf", "r"))) {
|
||||
fclose (isapnpfile);
|
||||
rename ("/harddisk/etc/isapnp.conf", "/harddisk" CONFIG_ROOT "/isapnp/isapnp.conf");
|
||||
} else {
|
||||
if (( isapnpfile = fopen ("/harddisk" CONFIG_ROOT "/isapnp/isapnp.conf", "r"))) {
|
||||
fclose(isapnpfile);
|
||||
} else {
|
||||
isapnpfile = fopen ("/harddisk" CONFIG_ROOT "/isapnp/isapnp.conf", "w");
|
||||
fclose(isapnpfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int upgrade_v130_v140() {
|
||||
_del_setup_user();
|
||||
_del_useless_user_group();
|
||||
_add_logwatch_user();
|
||||
_add_sshd_user();
|
||||
_add_dnsmasq_user();
|
||||
_add_cron_user();
|
||||
_add_sysklogd_user();
|
||||
_del_pulsardsl_dir();
|
||||
_del_fritzdsl_dir();
|
||||
_convert_vpn();
|
||||
_handledomainname();
|
||||
_fixsquid();
|
||||
_fixeagleusb();
|
||||
_create_nobody_dir();
|
||||
_convert_ppp_settings_V140();
|
||||
_convert_net_settings_V140();
|
||||
_fixdhcp_30();
|
||||
_convert_keymap();
|
||||
_convert_speedtouch();
|
||||
_convert_isapnp();
|
||||
|
||||
return 0;
|
||||
}
|
||||
11
src/patches/kudzu-link-lintl.diff
Normal file
11
src/patches/kudzu-link-lintl.diff
Normal file
@@ -0,0 +1,11 @@
|
||||
--- tmp/kudzu-1.2.60/Makefile 2006-09-05 15:56:21.000000000 +0200
|
||||
+++ build/usr/src/kudzu-1.2.60/Makefile 2006-11-20 15:08:32.000000000 +0100
|
||||
@@ -63,7 +63,7 @@
|
||||
$(RANLIB) libkudzu.a
|
||||
|
||||
kudzu: libkudzu.a $(KUDOBJS) po
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) $(KUDOBJS) -o kudzu -L. -lkudzu -L. -lpci -Wl,-Bstatic -lpopt -Wl,-Bdynamic
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) $(KUDOBJS) -o kudzu -L. -lkudzu -L. -lpci -L. -lintl -Wl,-Bstatic -lpopt -Wl,-Bdynamic
|
||||
|
||||
module_upgrade: libkudzu.a module_upgrade.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) module_upgrade.c -o module_upgrade -L. -lkudzu -lpci
|
||||
12
src/patches/kudzu-nodiet.patch
Normal file
12
src/patches/kudzu-nodiet.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -ruN kudzu-1.1.68.2.orig/Makefile kudzu-1.1.68.2/Makefile
|
||||
--- kudzu-1.1.68.2.orig/Makefile 2004-09-01 01:11:42.000000000 +0000
|
||||
+++ kudzu-1.1.68.2/Makefile 2005-04-29 22:43:00.000000000 +0000
|
||||
@@ -52,7 +52,7 @@
|
||||
LOADEROBJ += s390.o
|
||||
endif
|
||||
|
||||
-DIET = diet
|
||||
+DIET =
|
||||
ifeq (i386,$(ARCH))
|
||||
LOADEROBJS = $(patsubst %.o,%.do,$(LOADEROBJ))
|
||||
else
|
||||
12
src/patches/pciutils-2.1.10-scan.patch
Normal file
12
src/patches/pciutils-2.1.10-scan.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- pciutils-2.1.10/lib/access.c.foo Wed Feb 12 15:44:05 2003
|
||||
+++ pciutils-2.1.10/lib/access.c Wed Feb 12 15:44:33 2003
|
||||
@@ -180,7 +180,8 @@
|
||||
void
|
||||
pci_scan_bus(struct pci_access *a)
|
||||
{
|
||||
- a->methods->scan(a);
|
||||
+ if (a->methods)
|
||||
+ a->methods->scan(a);
|
||||
}
|
||||
|
||||
struct pci_dev *
|
||||
17
src/patches/pciutils-2.1.99-gcc4.patch
Normal file
17
src/patches/pciutils-2.1.99-gcc4.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
Patch by Robert Scheck <redhat@linuxnetz.de> for pciutils >= 2.1.99, which make pciutils
|
||||
rebuildable using gcc 4.
|
||||
|
||||
--- pciutils-2.1.99-test8/lib/i386-ports.c 2004-08-13 22:13:11.000000000 +0200
|
||||
+++ pciutils-2.1.99-test8/lib/i386-ports.c.gcc4 2005-03-14 09:30:06.000000000 +0100
|
||||
@@ -57,9 +57,9 @@
|
||||
for(d.dev = 0; d.dev < 32; d.dev++)
|
||||
{
|
||||
u16 class, vendor;
|
||||
- if (m->read(&d, PCI_CLASS_DEVICE, (byte *) &class, sizeof(class)) &&
|
||||
+ if ((m->read) (&d, PCI_CLASS_DEVICE, (byte *) &class, sizeof(class)) &&
|
||||
(class == cpu_to_le16(PCI_CLASS_BRIDGE_HOST) || class == cpu_to_le16(PCI_CLASS_DISPLAY_VGA)) ||
|
||||
- m->read(&d, PCI_VENDOR_ID, (byte *) &vendor, sizeof(vendor)) &&
|
||||
+ (m->read) (&d, PCI_VENDOR_ID, (byte *) &vendor, sizeof(vendor)) &&
|
||||
(vendor == cpu_to_le16(PCI_VENDOR_ID_INTEL) || vendor == cpu_to_le16(PCI_VENDOR_ID_COMPAQ)))
|
||||
{
|
||||
a->debug("...outside the Asylum at 0/%02x/0", d.dev);
|
||||
11
src/patches/pciutils-2.2.1-idpath.patch
Normal file
11
src/patches/pciutils-2.2.1-idpath.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- pciutils-2.2.1/Makefile.idpath 2006-02-23 12:24:12.000000000 +0100
|
||||
+++ pciutils-2.2.1/Makefile 2006-02-23 12:24:18.000000000 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
PREFIX=/usr/local
|
||||
SBINDIR=$(PREFIX)/sbin
|
||||
SHAREDIR=$(PREFIX)/share
|
||||
-IDSDIR=$(SHAREDIR)
|
||||
+IDSDIR=$(SHAREDIR)/hwdata
|
||||
MANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
|
||||
INSTALL=install
|
||||
DIRINSTALL=install -d
|
||||
130
src/patches/pciutils-2.2.3-multilib.patch
Normal file
130
src/patches/pciutils-2.2.3-multilib.patch
Normal file
@@ -0,0 +1,130 @@
|
||||
--- pciutils-2.2.3/lib/configure.multilib 2006-05-05 14:25:07.000000000 +0200
|
||||
+++ pciutils-2.2.3/lib/configure 2006-05-23 15:50:16.000000000 +0200
|
||||
@@ -30,8 +30,37 @@
|
||||
echo " $host $rel"
|
||||
|
||||
c=config.h
|
||||
-echo >$c "#define PCI_ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
|
||||
-echo >>$c "#define PCI_OS_`echo $sys | tr 'a-z' 'A-Z'`"
|
||||
+cm=config.h.mk
|
||||
+cat >$c <<EOF
|
||||
+#if defined(__x86_64__)
|
||||
+#define PCI_ARCH_X86_64
|
||||
+#elif defined(__ia64__)
|
||||
+#define PCI_ARCH_IA64
|
||||
+#elif defined(__i386__)
|
||||
+#define PCI_ARCH_I386
|
||||
+#define PCI_HAVE_PM_INTEL_CONF
|
||||
+#elif defined(__ppc64__) || defined(__powerpc64__)
|
||||
+#define PCI_ARCH_PPC64
|
||||
+#elif defined(__ppc__) || defined(__powerpc__)
|
||||
+#define PCI_ARCH_PPC
|
||||
+#elif defined(__s390x__)
|
||||
+#define PCI_ARCH_S390X
|
||||
+#elif defined(__s390__)
|
||||
+#define PCI_ARCH_S390
|
||||
+#else
|
||||
+#error Unknown Arch
|
||||
+#endif
|
||||
+#define PCI_OS_LINUX
|
||||
+#define PCI_HAVE_PM_LINUX_SYSFS
|
||||
+#define PCI_HAVE_PM_LINUX_PROC
|
||||
+#define PCI_HAVE_LINUX_BYTEORDER_H
|
||||
+#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"
|
||||
+#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"
|
||||
+#define PCI_HAVE_64BIT_ADDRESS
|
||||
+EOF
|
||||
+
|
||||
+echo >$cm "#define PCI_ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
|
||||
+echo >>$cm "#define PCI_OS_`echo $sys | tr 'a-z' 'A-Z'`"
|
||||
|
||||
echo_n "Looking for access methods..."
|
||||
|
||||
@@ -39,63 +68,22 @@
|
||||
linux*)
|
||||
case $rel in
|
||||
2.[1-9]*|[3-9]*) echo_n " sysfs proc"
|
||||
- echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS'
|
||||
- echo >>$c '#define PCI_HAVE_PM_LINUX_PROC'
|
||||
- echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H'
|
||||
- echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"'
|
||||
- echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"'
|
||||
- ok=1
|
||||
- ;;
|
||||
- esac
|
||||
- case $cpu in
|
||||
- i386) echo_n " i386-ports"
|
||||
- echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
|
||||
+ echo >>$cm '#define PCI_HAVE_PM_LINUX_SYSFS'
|
||||
+ echo >>$cm '#define PCI_HAVE_PM_LINUX_PROC'
|
||||
+ echo >>$cm '#define PCI_HAVE_LINUX_BYTEORDER_H'
|
||||
+ echo >>$cm '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"'
|
||||
+ echo >>$cm '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"'
|
||||
ok=1
|
||||
;;
|
||||
esac
|
||||
- echo >>$c '#define PCI_HAVE_64BIT_ADDRESS'
|
||||
- ;;
|
||||
- sunos)
|
||||
case $cpu in
|
||||
i386) echo_n " i386-ports"
|
||||
- echo >>$c "#define PCI_HAVE_PM_INTEL_CONF"
|
||||
+ echo >>$cm '#define PCI_HAVE_PM_INTEL_CONF'
|
||||
ok=1
|
||||
;;
|
||||
- *)
|
||||
- echo " The PCI library is does not support Solaris for this architecture: $cpu"
|
||||
- exit 1
|
||||
- ;;
|
||||
esac
|
||||
- ;;
|
||||
-
|
||||
- freebsd)
|
||||
- echo_n " fbsd-device"
|
||||
- echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE'
|
||||
- echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"'
|
||||
- ok=1
|
||||
- ;;
|
||||
- openbsd)
|
||||
- echo_n " obsd-device"
|
||||
- echo >>$c '#define PCI_HAVE_PM_OBSD_DEVICE'
|
||||
- echo >>$c '#define PCI_PATH_OBSD_DEVICE "/dev/pci"'
|
||||
- ok=1
|
||||
- ;;
|
||||
- aix)
|
||||
- echo_n " aix-device"
|
||||
- echo >>$c '#define PCI_HAVE_PM_AIX_DEVICE'
|
||||
- ok=1
|
||||
- ;;
|
||||
- netbsd)
|
||||
- echo_n " nbsd-libpci"
|
||||
- echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI'
|
||||
- echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"'
|
||||
- ok=1
|
||||
- ;;
|
||||
- gnu)
|
||||
- echo_n " i386-ports"
|
||||
- echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
|
||||
- ok=1
|
||||
- ;;
|
||||
+ echo >>$cm '#define PCI_HAVE_64BIT_ADDRESS'
|
||||
+ ;;
|
||||
*)
|
||||
echo " Unfortunately, your OS is not supported by the PCI Library"
|
||||
exit 1
|
||||
@@ -103,10 +91,14 @@
|
||||
esac
|
||||
|
||||
echo >>$c '#define PCI_HAVE_PM_DUMP'
|
||||
+echo >>$cm '#define PCI_HAVE_PM_DUMP'
|
||||
echo " dump"
|
||||
if [ -z "$ok" ] ; then
|
||||
echo "WARNING: No real configuration access method is available."
|
||||
fi
|
||||
echo >>$c "#define PCI_PATH_IDS \"$idsdir/pci.ids\""
|
||||
echo >>$c "#define PCILIB_VERSION \"$version\""
|
||||
-sed '/^#define [^ ]*$/!d;s/^#define \(.*\)/\1=1/' <$c >config.mk
|
||||
+
|
||||
+echo >>$cm "#define PCI_PATH_IDS \"$idsdir/pci.ids\""
|
||||
+echo >>$cm "#define PCILIB_VERSION \"$version\""
|
||||
+sed '/^#define [^ ]*$/!d;s/^#define \(.*\)/\1=1/' <$cm >config.mk
|
||||
11
src/patches/pciutils-2.2.3-sata.patch
Normal file
11
src/patches/pciutils-2.2.3-sata.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- pciutils-2.2.3/lib/header.h.sata 2006-08-09 13:16:07.000000000 -0400
|
||||
+++ pciutils-2.2.3/lib/header.h 2006-08-09 13:17:45.000000000 -0400
|
||||
@@ -855,6 +855,8 @@
|
||||
#define PCI_CLASS_STORAGE_FLOPPY 0x0102
|
||||
#define PCI_CLASS_STORAGE_IPI 0x0103
|
||||
#define PCI_CLASS_STORAGE_RAID 0x0104
|
||||
+#define PCI_CLASS_STORAGE_ATA 0x0105
|
||||
+#define PCI_CLASS_STORAGE_SATA 0x0106
|
||||
#define PCI_CLASS_STORAGE_OTHER 0x0180
|
||||
|
||||
#define PCI_BASE_CLASS_NETWORK 0x02
|
||||
136
src/patches/pciutils-devicetype.patch
Normal file
136
src/patches/pciutils-devicetype.patch
Normal file
@@ -0,0 +1,136 @@
|
||||
--- pciutils-2.2.1/lib/sysfs.c.devicetype 2005-09-21 07:51:00.000000000 -0400
|
||||
+++ pciutils-2.2.1/lib/sysfs.c 2005-12-13 17:02:12.000000000 -0500
|
||||
@@ -164,7 +164,6 @@
|
||||
sysfs_get_resources(d);
|
||||
d->irq = sysfs_get_value(d, "irq");
|
||||
d->known_fields = PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES;
|
||||
-#if 0
|
||||
/*
|
||||
* We prefer reading these from the config registers, it's faster.
|
||||
* However, it would be possible and maybe even useful to hack the kernel
|
||||
@@ -173,8 +172,8 @@
|
||||
*/
|
||||
d->vendor_id = sysfs_get_value(d, "vendor");
|
||||
d->device_id = sysfs_get_value(d, "device");
|
||||
- d->known_fields |= PCI_FILL_IDENT;
|
||||
-#endif
|
||||
+ d->device_class = sysfs_get_value(d, "class") >> 8;
|
||||
+ d->known_fields |= PCI_FILL_IDENT | PCI_FILL_CLASS;
|
||||
}
|
||||
pci_link_dev(a, d);
|
||||
}
|
||||
--- pciutils-2.2.1/lib/pci.h.devicetype 2005-09-10 08:10:54.000000000 -0400
|
||||
+++ pciutils-2.2.1/lib/pci.h 2005-12-13 17:02:12.000000000 -0500
|
||||
@@ -84,6 +84,7 @@
|
||||
/* These fields are set by pci_fill_info() */
|
||||
int known_fields; /* Set of info fields already known */
|
||||
u16 vendor_id, device_id; /* Identity of the device */
|
||||
+ u16 device_class; /* PCI device class */
|
||||
int irq; /* IRQ number */
|
||||
pciaddr_t base_addr[6]; /* Base addresses */
|
||||
pciaddr_t size[6]; /* Region sizes */
|
||||
@@ -118,6 +119,7 @@
|
||||
#define PCI_FILL_BASES 4
|
||||
#define PCI_FILL_ROM_BASE 8
|
||||
#define PCI_FILL_SIZES 16
|
||||
+#define PCI_FILL_CLASS 32
|
||||
#define PCI_FILL_RESCAN 0x10000
|
||||
|
||||
void pci_setup_cache(struct pci_dev *, u8 *cache, int len);
|
||||
--- pciutils-2.2.1/lib/generic.c.devicetype 2004-08-13 16:15:23.000000000 -0400
|
||||
+++ pciutils-2.2.1/lib/generic.c 2005-12-13 17:02:12.000000000 -0500
|
||||
@@ -46,7 +46,8 @@
|
||||
d->func = t->func;
|
||||
d->vendor_id = vd & 0xffff;
|
||||
d->device_id = vd >> 16U;
|
||||
- d->known_fields = PCI_FILL_IDENT;
|
||||
+ d->device_class = pci_read_byte(t,PCI_CLASS_DEVICE+1) << 8 | pci_read_byte(t, PCI_CLASS_DEVICE);
|
||||
+ d->known_fields = PCI_FILL_IDENT | PCI_FILL_CLASS;
|
||||
d->hdrtype = ht;
|
||||
pci_link_dev(a, d);
|
||||
switch (ht)
|
||||
@@ -86,6 +87,8 @@
|
||||
d->vendor_id = pci_read_word(d, PCI_VENDOR_ID);
|
||||
d->device_id = pci_read_word(d, PCI_DEVICE_ID);
|
||||
}
|
||||
+ if (flags & PCI_FILL_CLASS)
|
||||
+ d->device_class = pci_read_byte(d, PCI_CLASS_DEVICE+1) << 8 | pci_read_byte(d, PCI_CLASS_DEVICE);
|
||||
if (flags & PCI_FILL_IRQ)
|
||||
d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE);
|
||||
if (flags & PCI_FILL_BASES)
|
||||
--- pciutils-2.2.1/lib/example.c.devicetype 2000-03-09 03:38:33.000000000 -0500
|
||||
+++ pciutils-2.2.1/lib/example.c 2005-12-13 17:02:12.000000000 -0500
|
||||
@@ -21,7 +21,7 @@
|
||||
pci_scan_bus(pacc); /* We want to get the list of devices */
|
||||
for(dev=pacc->devices; dev; dev=dev->next) /* Iterate over all devices */
|
||||
{
|
||||
- pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES); /* Fill in header info we need */
|
||||
+ pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS); /* Fill in header info we need */
|
||||
c = pci_read_word(dev, PCI_CLASS_DEVICE); /* Read config register directly */
|
||||
printf("%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d base0=%lx\n",
|
||||
dev->bus, dev->dev, dev->func, dev->vendor_id, dev->device_id,
|
||||
--- pciutils-2.2.1/lspci.c.devicetype 2005-11-26 06:48:29.000000000 -0500
|
||||
+++ pciutils-2.2.1/lspci.c 2005-12-13 17:04:39.000000000 -0500
|
||||
@@ -123,7 +123,7 @@
|
||||
d->config_cached += 64;
|
||||
}
|
||||
pci_setup_cache(p, d->config, d->config_cached);
|
||||
- pci_fill_info(p, PCI_FILL_IDENT | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES);
|
||||
+ pci_fill_info(p, PCI_FILL_IDENT | PCI_FILL_CLASS | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES);
|
||||
return d;
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
printf(" %s: %s",
|
||||
pci_lookup_name(pacc, classbuf, sizeof(classbuf),
|
||||
PCI_LOOKUP_CLASS,
|
||||
- get_conf_word(d, PCI_CLASS_DEVICE)),
|
||||
+ p->device_class),
|
||||
pci_lookup_name(pacc, devbuf, sizeof(devbuf),
|
||||
PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE,
|
||||
p->vendor_id, p->device_id));
|
||||
@@ -267,7 +267,7 @@
|
||||
c = get_conf_byte(d, PCI_CLASS_PROG);
|
||||
x = pci_lookup_name(pacc, devbuf, sizeof(devbuf),
|
||||
PCI_LOOKUP_PROGIF | PCI_LOOKUP_NO_NUMBERS,
|
||||
- get_conf_word(d, PCI_CLASS_DEVICE), c);
|
||||
+ p->device_class, c);
|
||||
if (c || x)
|
||||
{
|
||||
printf(" (prog-if %02x", c);
|
||||
@@ -1585,7 +1585,7 @@
|
||||
struct pci_dev *p = d->dev;
|
||||
word status = get_conf_word(d, PCI_STATUS);
|
||||
word cmd = get_conf_word(d, PCI_COMMAND);
|
||||
- word class = get_conf_word(d, PCI_CLASS_DEVICE);
|
||||
+ word class = p->device_class;
|
||||
byte bist = get_conf_byte(d, PCI_BIST);
|
||||
byte htype = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f;
|
||||
byte latency = get_conf_byte(d, PCI_LATENCY_TIMER);
|
||||
@@ -1783,7 +1783,7 @@
|
||||
show_slot_name(d);
|
||||
putchar('\n');
|
||||
printf("Class:\t%s\n",
|
||||
- pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, get_conf_word(d, PCI_CLASS_DEVICE)));
|
||||
+ pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, p->device_class));
|
||||
printf("Vendor:\t%s\n",
|
||||
pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR, p->vendor_id, p->device_id));
|
||||
printf("Device:\t%s\n",
|
||||
@@ -1805,7 +1805,7 @@
|
||||
show_slot_name(d);
|
||||
printf(" \"%s\" \"%s\" \"%s\"",
|
||||
pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS,
|
||||
- get_conf_word(d, PCI_CLASS_DEVICE)),
|
||||
+ p->device_class),
|
||||
pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR,
|
||||
p->vendor_id, p->device_id),
|
||||
pci_lookup_name(pacc, devbuf, sizeof(devbuf), PCI_LOOKUP_DEVICE,
|
||||
@@ -1929,7 +1929,7 @@
|
||||
last_br = &host_bridge.chain;
|
||||
for(d=first_dev; d; d=d->next)
|
||||
{
|
||||
- word class = get_conf_word(d, PCI_CLASS_DEVICE);
|
||||
+ word class = d->dev->device_class;
|
||||
byte ht = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f;
|
||||
if (class == PCI_CLASS_BRIDGE_PCI &&
|
||||
(ht == PCI_HEADER_TYPE_BRIDGE || ht == PCI_HEADER_TYPE_CARDBUS))
|
||||
57
src/patches/pciutils-havepread.patch
Normal file
57
src/patches/pciutils-havepread.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
--- pciutils-2.1.99-test8/lib/pread.h.pread 2004-08-13 16:15:46.000000000 -0400
|
||||
+++ pciutils-2.1.99-test8/lib/pread.h 2004-08-31 00:30:03.168157294 -0400
|
||||
@@ -12,54 +12,6 @@
|
||||
* don't define it.
|
||||
*/
|
||||
|
||||
-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ > 0
|
||||
-/* glibc 2.1 or newer -> pread/pwrite supported automatically */
|
||||
-
|
||||
-#elif defined(i386) && defined(__GLIBC__)
|
||||
-/* glibc 2.0 on i386 -> call syscalls directly */
|
||||
-#include <asm/unistd.h>
|
||||
-#include <syscall-list.h>
|
||||
-#ifndef SYS_pread
|
||||
-#define SYS_pread 180
|
||||
-#endif
|
||||
-static int pread(unsigned int fd, void *buf, size_t size, loff_t where)
|
||||
-{ return syscall(SYS_pread, fd, buf, size, where); }
|
||||
-#ifndef SYS_pwrite
|
||||
-#define SYS_pwrite 181
|
||||
-#endif
|
||||
-static int pwrite(unsigned int fd, void *buf, size_t size, loff_t where)
|
||||
-{ return syscall(SYS_pwrite, fd, buf, size, where); }
|
||||
-
|
||||
-#elif defined(i386)
|
||||
-/* old libc on i386 -> call syscalls directly the old way */
|
||||
-#include <asm/unistd.h>
|
||||
-static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
|
||||
-static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
|
||||
-static int do_read(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); }
|
||||
-static int do_write(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); }
|
||||
-#define PCI_HAVE_DO_READ
|
||||
-
|
||||
-#else
|
||||
-/* In all other cases we use lseek/read/write instead to be safe */
|
||||
-#define make_rw_glue(op) \
|
||||
- static int do_##op(struct pci_dev *d, int fd, void *buf, size_t size, int where) \
|
||||
- { \
|
||||
- struct pci_access *a = d->access; \
|
||||
- int r; \
|
||||
- if (a->fd_pos != where && lseek(fd, where, SEEK_SET) < 0) \
|
||||
- return -1; \
|
||||
- r = op(fd, buf, size); \
|
||||
- if (r < 0) \
|
||||
- a->fd_pos = -1; \
|
||||
- else \
|
||||
- a->fd_pos = where + r; \
|
||||
- return r; \
|
||||
- }
|
||||
-make_rw_glue(read)
|
||||
-make_rw_glue(write)
|
||||
-#define PCI_HAVE_DO_READ
|
||||
-#endif
|
||||
-
|
||||
#ifndef PCI_HAVE_DO_READ
|
||||
#define do_read(d,f,b,l,p) pread(f,b,l,p)
|
||||
#define do_write(d,f,b,l,p) pwrite(f,b,l,p)
|
||||
22
src/patches/pciutils-strip.patch
Normal file
22
src/patches/pciutils-strip.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- pciutils-2.1.99-test3/Makefile.strip 2004-02-25 01:46:14.315787866 -0500
|
||||
+++ pciutils-2.1.99-test3/Makefile 2004-02-25 01:47:45.478046260 -0500
|
||||
@@ -32,7 +32,7 @@
|
||||
all: $(PCILIB) lspci setpci lspci.8 setpci.8 update-pciids update-pciids.8 pci.ids
|
||||
|
||||
$(PCILIB): $(PCIINC) force
|
||||
- $(MAKE) -C lib all
|
||||
+ CFLAGS="$(CFLAGS) -fPIC" $(MAKE) -C lib all
|
||||
|
||||
force:
|
||||
|
||||
--- pciutils-2.1.99-test8/Makefile.foo 2005-05-10 15:24:45.000000000 -0400
|
||||
+++ pciutils-2.1.99-test8/Makefile 2005-05-10 15:24:50.000000000 -0400
|
||||
@@ -65,7 +65,7 @@
|
||||
install: all
|
||||
# -c is ignored on Linux, but required on FreeBSD
|
||||
$(DIRINSTALL) -m 755 $(SBINDIR) $(IDSDIR) $(MANDIR)/man8
|
||||
- $(INSTALL) -c -m 755 -s lspci setpci $(SBINDIR)
|
||||
+ $(INSTALL) -c -m 755 lspci setpci $(SBINDIR)
|
||||
$(INSTALL) -c -m 755 update-pciids $(SBINDIR)
|
||||
$(INSTALL) -c -m 644 pci.ids $(IDSDIR)
|
||||
$(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(MANDIR)/man8
|
||||
Reference in New Issue
Block a user