Remove expired leaf ports:

2006-07-01 emulators/linux_base-fc3
2006-06-15 misc/linux-opengroupware
2006-07-01 net/opengk
2006-07-01 security/p5-Crypt-OpenPGP
2006-07-01 textproc/sed_inplace
2006-07-01 textproc/xml4j
2006-07-01 x11-wm/aewm++
This commit is contained in:
Vasil Dimov
2006-07-04 14:04:31 +00:00
parent ad4819f70d
commit f4212e1cd8
57 changed files with 7 additions and 14157 deletions

7
MOVED
View File

@@ -2395,3 +2395,10 @@ www/xpi-tablesort|www/xpi-tabletools|2006-06-27|Extension renamed
mail/rssyl|mail/sylpheed-claws-rssyl|2006-06-27|Moved to follow the rest of sypheed-claws nameing scheme
net/rwhois|net/rwhoisd|2006-06-27|Moved to an accurate name
lang/linux-libgcc||2006-06-29|Obsoleted by emulators/linux_base-fc3 and emulators/linux_base-fc4
x11-wm/aewm++||2006-07-04|Has expired: The project is dead, a fork exists: xaewm
emulators/linux_base-fc3||2006-07-04|Has expired: superseeded by linux_base-fc4 port
misc/linux-opengroupware||2006-07-04|Has expired
net/opengk||2006-07-04|Has expired: Latest version is from 2003-02-03. Use net/gatekeeper instead
security/p5-Crypt-OpenPGP||2006-07-04|Has expired: Crypt-OpenPGP was abandoned in 2002, use security/gnupg instead
textproc/sed_inplace||2006-07-04|Has expired: This port is not required anymore
textproc/xml4j||2006-07-04|Has expired: it has been replaced by textproc/xerces-j 8 years ago

View File

@@ -70,7 +70,6 @@
SUBDIR += linux_base
SUBDIR += linux_base-8
SUBDIR += linux_base-debian
SUBDIR += linux_base-fc3
SUBDIR += linux_base-fc4
SUBDIR += linux_base-gentoo-stage1
SUBDIR += linux_base-gentoo-stage2

View File

@@ -1,209 +0,0 @@
# New ports collection makefile for: linux_base-fc3
# Date created: $Date$
# Whom: bsam@ipt.ru
# based on ports/emulators/linux_base by trevor, netchild and others
#
# $FreeBSD$
#
PORTNAME= fc
PORTVERSION= 3
PORTREVISION= 6
CATEGORIES= emulators linux
MASTER_SITES= ${MASTER_SITE_FEDORA_LINUX}
MASTER_SITE_SUBDIR= ${PORTVERSION}/${LINUX_RPM_ARCH}/os/Fedora/RPMS \
updates/${PORTVERSION}/${LINUX_RPM_ARCH} \
${PORTVERSION}/SRPMS \
updates/${PORTVERSION}/SRPMS
PKGNAMEPREFIX= linux_base-
DISTFILES= ${BIN_DISTFILES} ${SRC_DISTFILES}
DIST_SUBDIR= rpm/${LINUX_RPM_ARCH}/fedora/${PORTVERSION}
EXTRACT_ONLY= ${BIN_DISTFILES}
MAINTAINER= freebsd-emulation@FreeBSD.org
COMMENT= Base set of packages needed in Linux mode (for i386/amd64)
BIN_DISTFILES= basesystem-8.0-4.noarch.rpm \
bash-3.0-18.${LINUX_RPM_ARCH}.rpm \
bzip2-1.0.2-13.${LINUX_RPM_ARCH}.rpm \
bzip2-libs-1.0.2-13.${LINUX_RPM_ARCH}.rpm \
compat-db-4.1.25-6.${LINUX_RPM_ARCH}.rpm \
compat-libstdc++-8-3.3.4.2.${LINUX_RPM_ARCH}.rpm \
coreutils-5.2.1-31.${LINUX_RPM_ARCH}.rpm \
db4-4.2.52-6.${LINUX_RPM_ARCH}.rpm \
elfutils-libelf-0.96-1.${LINUX_RPM_ARCH}.rpm \
fedora-release-3-8.${LINUX_RPM_ARCH}.rpm \
filesystem-2.3.0-1.${LINUX_RPM_ARCH}.rpm \
freetype-2.1.9-1.${LINUX_RPM_ARCH}.rpm \
gdbm-1.8.0-24.${LINUX_RPM_ARCH}.rpm \
glib-1.2.10-15.${LINUX_RPM_ARCH}.rpm \
glibc-2.3.6-0.fc3.1.${LINUX_RPM_ARCH}.rpm \
glibc-common-2.3.6-0.fc3.1.${LINUX_RPM_ARCH}.rpm \
grep-2.5.1-31.${LINUX_RPM_ARCH}.rpm \
info-4.7-5.${LINUX_RPM_ARCH}.rpm \
libacl-2.2.23-5.${LINUX_RPM_ARCH}.rpm \
libattr-2.4.16-3.${LINUX_RPM_ARCH}.rpm \
libgcc-3.4.4-2.fc3.${LINUX_RPM_ARCH}.rpm \
libselinux-1.19.1-8.${LINUX_RPM_ARCH}.rpm \
libstdc++-3.4.2-6.fc3.${LINUX_RPM_ARCH}.rpm \
libtermcap-2.0.8-39.${LINUX_RPM_ARCH}.rpm \
ncurses-5.4-13.${LINUX_RPM_ARCH}.rpm \
pcre-4.5-3.1.1.fc3.${LINUX_RPM_ARCH}.rpm \
popt-1.9.1-21.${LINUX_RPM_ARCH}.rpm \
readline-4.3-13.${LINUX_RPM_ARCH}.rpm \
rpm-4.3.2-21.${LINUX_RPM_ARCH}.rpm \
setserial-2.17-17.${LINUX_RPM_ARCH}.rpm \
setup-2.5.36-1.noarch.rpm \
slang-1.4.9-13.${LINUX_RPM_ARCH}.rpm \
termcap-5.4-4fc3.noarch.rpm \
zlib-1.2.1.2-3.fc3.${LINUX_RPM_ARCH}.rpm
.if defined(PACKAGE_BUILDING)
SRC_DISTFILES+= basesystem-8.0-4.src.rpm \
bash-3.0-18.src.rpm \
bzip2-1.0.2-13.src.rpm \
compat-db-4.1.25-6.src.rpm \
coreutils-5.2.1-31.src.rpm \
db4-4.2.52-6.src.rpm \
elfutils-0.96-1.src.rpm \
fedora-release-3-8.src.rpm \
filesystem-2.3.0-1.src.rpm \
freetype-2.1.9-1.src.rpm \
gcc-3.4.4-2.fc3.src.rpm \
gdbm-1.8.0-24.src.rpm \
glib-1.2.10-15.src.rpm \
glibc-2.3.6-0.fc3.1.src.rpm \
grep-2.5.1-31.src.rpm \
libselinux-1.19.1-8.src.rpm \
libtermcap-2.0.8-39.src.rpm \
ncurses-5.4-13.src.rpm \
pcre-4.5-3.src.rpm \
readline-4.3-13.src.rpm \
rpm-4.3.2-21.src.rpm \
setserial-2.17-17.src.rpm \
setup-2.5.36-1.src.rpm \
slang-1.4.9-13.src.rpm \
termcap-5.4-4fc3.src.rpm \
zlib-1.2.1.2-3.fc3.src.rpm
ALWAYS_KEEP_DISTFILES= yes
.endif
CONFLICTS= linux_base-7* linux_base-deb* linux_base-gentoo* \
linux_base-rh-9* linux_base-suse-9* linux_base-8* \
linux_base-fc-4* linux_locale*
DEPRECATED= superseeded by linux_base-fc4 port
EXPIRATION_DATE=2006-07-01
ONLY_FOR_ARCHS= i386 amd64
LINUX_RPM_ARCH= i386
USE_LINUX_PREFIX= yes
NO_FILTER_SHLIBS= yes
NO_WRKSUBDIR= yes
MD5_FILE?= ${MASTERDIR}/distinfo.${LINUX_RPM_ARCH}
PLIST_SUB= GLIBCVER="2.3.6"
RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
EXTRACT_DEPENDS+= ${RPM2CPIO}:${PORTSDIR}/archivers/rpm
EXTRACT_ONLY= ${BIN_DISTFILES}
EXTRACT_CMD?= ${RPM2CPIO}
EXTRACT_BEFORE_ARGS?=
EXTRACT_AFTER_ARGS?= | ${CPIO} -id --quiet
PLIST= pkg-plist
.include <bsd.port.pre.mk>
REMOVE_DIRS= boot dev home initrd root tmp var/run var/tmp usr/tmp \
usr/local
REMOVE_FILES= bin/df bin/su etc/exports etc/group etc/localtime \
etc/motd etc/passwd etc/printcap etc/services \
etc/protocols
ADD_FILES= var/lib/rpm/packages.rpm \
var/lib/rpm/nameindex.rpm \
var/lib/rpm/fileindex.rpm \
var/lib/rpm/providesindex.rpm \
var/lib/rpm/requiredby.rpm \
var/lib/rpm/conflictsindex.rpm \
var/lib/rpm/groupindex.rpm \
var/lib/rpm/triggerindex.rpm
.if (${MACHINE_ARCH} == "amd64")
FALLBACK_ELF_MIB= kern.elf32.fallback_brand
.else
FALLBACK_ELF_MIB= kern.fallback_elf_brand
.endif
.if (${ARCH} == "amd64")
LATEST_LINK:= ${LATEST_LINK:C/linux/linux32/}
ARCH= i386
.endif
do-build:
@for D in ${REMOVE_DIRS}; do \
${RM} -rf ${WRKSRC}/$$D; \
done
@for F in ${REMOVE_FILES}; do \
${RM} -f ${WRKSRC}/$$F; \
done
@for F in ${ADD_FILES}; do \
${TOUCH} ${WRKSRC}/$$F; \
done
#
# Create a good ld.so.conf and touch ld.so.cache
#
@${ECHO_CMD} -e '/lib\n/usr/lib\n${X11BASE}/lib' >> \
${WRKSRC}/etc/ld.so.conf
@${TOUCH} ${WRKSRC}/etc/ld.so.cache
#
# Create yp.conf as a hint to NIS users and make sure there's a
# mtab in etc, albeit an empty one. This is needed in a couple of
# cases. Most notably staroffice6. If yp.conf exists install only
# yp.conf.sample
#
@${INSTALL} ${COPY} -m 644 ${FILESDIR}/yp.conf.sample ${WRKSRC}/etc
@${TOUCH} ${WRKSRC}/etc/mtab
#
# If ${PREFIX}/etc/nsswitch.conf exists, don't touch it,
# install only ${PREFIX}/etc/nsswitch.conf.dist
#
@${MV} ${WRKSRC}/etc/nsswitch.conf ${WRKSRC}/etc/nsswitch.conf.dist
@${FIND} ${WRKSRC}/bin ${WRKSRC}/sbin/ ${WRKSRC}/usr/bin \
${WRKSRC}/usr/sbin -type f -print0 | ${XARGS} -0 ${FILE} \
| ${GREP} ELF | ${CUT} -d : -f 1 \
| ${XARGS} ${BRANDELF} -t Linux
do-install:
#
# Handle the loading of the linux loadable kernel module if required.
#
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
#
# Do install without using linux rpm system
#
@cd ${WRKSRC} && ${FIND} * -type d -exec ${MKDIR} "${PREFIX}/{}" \;
@cd ${WRKSRC} && ${FIND} * ! -type d \
| ${CPIO} -pm -R root:wheel ${PREFIX}
@${LN} -sf /var/tmp ${PREFIX}/usr/tmp
@${CHOWN} root:wheel ${PREFIX}/var/lock ${PREFIX}/var/spool/mail
@${CHMOD} 755 ${PREFIX}/var/lock ${PREFIX}/var/spool/mail
post-install:
#
# Handle mounting linux procfs if exists at /etc/fstab and
# installing etc/nsswitch.conf, etc/yp.conf if so far they don't exist
#
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
#
# And finally show the pkg-message
#
@${ECHO} ''
@${CAT} ${PKGMESSAGE}
@${ECHO} ''
.include <bsd.port.post.mk>

View File

@@ -1,180 +0,0 @@
MD5 (rpm/i386/fedora/3/basesystem-8.0-4.noarch.rpm) = 590ffac4154564dbf101a4adaae2e634
SHA256 (rpm/i386/fedora/3/basesystem-8.0-4.noarch.rpm) = 748be164bf586816498030cefbec16a39e3dabfe5b68b4e9b4ebb0bfecb3008e
SIZE (rpm/i386/fedora/3/basesystem-8.0-4.noarch.rpm) = 2777
MD5 (rpm/i386/fedora/3/bash-3.0-18.i386.rpm) = 99a14bb99f07fd19120e6c9db8cd801d
SHA256 (rpm/i386/fedora/3/bash-3.0-18.i386.rpm) = 87ca0203fb3b60c1d098cbef897ac3bed1bd535c3bd527a832b45a7db26bf53c
SIZE (rpm/i386/fedora/3/bash-3.0-18.i386.rpm) = 1823312
MD5 (rpm/i386/fedora/3/bzip2-1.0.2-13.i386.rpm) = 3b9105d659ca339c681517a8f9487990
SHA256 (rpm/i386/fedora/3/bzip2-1.0.2-13.i386.rpm) = 5466cfc640f5a6557cc1a3d5e011aed491f79bdac82b499346f0ec44b3a82a98
SIZE (rpm/i386/fedora/3/bzip2-1.0.2-13.i386.rpm) = 48359
MD5 (rpm/i386/fedora/3/bzip2-libs-1.0.2-13.i386.rpm) = 32c36c5a6f82c9e2398557b42ce777bb
SHA256 (rpm/i386/fedora/3/bzip2-libs-1.0.2-13.i386.rpm) = 6bee6e09b1f52e88d3099c45d9177b9a86b6c737a0bce27d95bb6a0ed418232f
SIZE (rpm/i386/fedora/3/bzip2-libs-1.0.2-13.i386.rpm) = 34363
MD5 (rpm/i386/fedora/3/compat-db-4.1.25-6.i386.rpm) = 16e4ffff3cb7cf6aeeb940a470fa08b7
SHA256 (rpm/i386/fedora/3/compat-db-4.1.25-6.i386.rpm) = 72b77580afbe462339264983407a1c1cc74f1665da3c34d0c830aa86a9e141ff
SIZE (rpm/i386/fedora/3/compat-db-4.1.25-6.i386.rpm) = 889683
MD5 (rpm/i386/fedora/3/compat-libstdc++-8-3.3.4.2.i386.rpm) = bed3429452b6d1a392ba3e8f5f5a8687
SHA256 (rpm/i386/fedora/3/compat-libstdc++-8-3.3.4.2.i386.rpm) = 16dd1be018b8bfcbd9cc62e69951f872406dace11d07338302638492b53317ff
SIZE (rpm/i386/fedora/3/compat-libstdc++-8-3.3.4.2.i386.rpm) = 666891
MD5 (rpm/i386/fedora/3/coreutils-5.2.1-31.i386.rpm) = 5cb75e56e2962cd4eb3f1ed7496e54b0
SHA256 (rpm/i386/fedora/3/coreutils-5.2.1-31.i386.rpm) = dbcddf8842bfae8b693208921d115ef08df38153ae26d372987c338925f80e46
SIZE (rpm/i386/fedora/3/coreutils-5.2.1-31.i386.rpm) = 2996248
MD5 (rpm/i386/fedora/3/db4-4.2.52-6.i386.rpm) = 4139238bb1e93b18b45a2578249ac444
SHA256 (rpm/i386/fedora/3/db4-4.2.52-6.i386.rpm) = 9aa59a2d22b0f39333dadee7746fd543c3f4f92c4e1f6430b9d1cdd05d5c67d7
SIZE (rpm/i386/fedora/3/db4-4.2.52-6.i386.rpm) = 1576482
MD5 (rpm/i386/fedora/3/elfutils-libelf-0.96-1.i386.rpm) = 9ebe97e40da45ed2836b0d04b8437665
SHA256 (rpm/i386/fedora/3/elfutils-libelf-0.96-1.i386.rpm) = 180af3826d53676e24828cc7a74e8e9d1acba5125b15b2bb51c0bc06164cf9ad
SIZE (rpm/i386/fedora/3/elfutils-libelf-0.96-1.i386.rpm) = 37647
MD5 (rpm/i386/fedora/3/fedora-release-3-8.i386.rpm) = 20553b29336b1394776daf5ba92fc199
SHA256 (rpm/i386/fedora/3/fedora-release-3-8.i386.rpm) = 76fa09e0b26c1dd9bd57c12da0311a2892f613cdab84a637cb1d935a13dec93a
SIZE (rpm/i386/fedora/3/fedora-release-3-8.i386.rpm) = 93728
MD5 (rpm/i386/fedora/3/filesystem-2.3.0-1.i386.rpm) = 1cca06d7ad0eea0ed6c277391a6dc8b6
SHA256 (rpm/i386/fedora/3/filesystem-2.3.0-1.i386.rpm) = 40b81abbe57abef6f6dc9f194a8f777c11fca5d989dd3ea29940eb99a26ac19d
SIZE (rpm/i386/fedora/3/filesystem-2.3.0-1.i386.rpm) = 15679
MD5 (rpm/i386/fedora/3/freetype-2.1.9-1.i386.rpm) = 4ce383d651b8692d38a71c76547842ac
SHA256 (rpm/i386/fedora/3/freetype-2.1.9-1.i386.rpm) = 4c2bec77948bce01f7fcff6f77fc76d7b8b74dc5f690a797e1b8275e3f6a1835
SIZE (rpm/i386/fedora/3/freetype-2.1.9-1.i386.rpm) = 774256
MD5 (rpm/i386/fedora/3/gdbm-1.8.0-24.i386.rpm) = 190cb0e98b618500579bc1f2dc266b8b
SHA256 (rpm/i386/fedora/3/gdbm-1.8.0-24.i386.rpm) = 0193044509c9fbbed4ad8cbbeb0174f9b49e535475ffcf28fe82df7b4975e2f7
SIZE (rpm/i386/fedora/3/gdbm-1.8.0-24.i386.rpm) = 26322
MD5 (rpm/i386/fedora/3/glib-1.2.10-15.i386.rpm) = 8bc7de68fa760472867ef36ebc399c7b
SHA256 (rpm/i386/fedora/3/glib-1.2.10-15.i386.rpm) = 8c0971bafb1f52748e9fff23ca80eee4ba432818ba58a2352da5aa2027a76d76
SIZE (rpm/i386/fedora/3/glib-1.2.10-15.i386.rpm) = 131470
MD5 (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.i386.rpm) = c530513c5b563b1131c74520ef2bcfa8
SHA256 (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.i386.rpm) = 159c4b147feb9fba4cbf0d17ee7ae6d9cf650b6a7c50b103233accfc36c5cf3c
SIZE (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.i386.rpm) = 4408104
MD5 (rpm/i386/fedora/3/glibc-common-2.3.6-0.fc3.1.i386.rpm) = da344cc6c3ee0e681896f23100bb56ea
SHA256 (rpm/i386/fedora/3/glibc-common-2.3.6-0.fc3.1.i386.rpm) = ef247e294c71d5c18caa4866a49021435d51ce2bc57497d988b275085f6b686d
SIZE (rpm/i386/fedora/3/glibc-common-2.3.6-0.fc3.1.i386.rpm) = 16479301
MD5 (rpm/i386/fedora/3/grep-2.5.1-31.i386.rpm) = ddf74d66549aac0af0021f4214d7b57a
SHA256 (rpm/i386/fedora/3/grep-2.5.1-31.i386.rpm) = b145e1d568a895650ee1fe993846616a33563cb911db53b8b9f61530a3cd405e
SIZE (rpm/i386/fedora/3/grep-2.5.1-31.i386.rpm) = 171630
MD5 (rpm/i386/fedora/3/info-4.7-5.i386.rpm) = 0d3e7e452288e37e12cb58e37a24d6c5
SHA256 (rpm/i386/fedora/3/info-4.7-5.i386.rpm) = 8cd5e0977e4e5501ae8f2444cb020faaab9f166088cc31d03321b4a6e5b01b3c
SIZE (rpm/i386/fedora/3/info-4.7-5.i386.rpm) = 148631
MD5 (rpm/i386/fedora/3/libacl-2.2.23-5.i386.rpm) = 27cd1286b8b157e5b9d45ab9623d9770
SHA256 (rpm/i386/fedora/3/libacl-2.2.23-5.i386.rpm) = 104918b310350d8a8aeb74c08f6bef439070ed7ccbda5947bfd40fc314492695
SIZE (rpm/i386/fedora/3/libacl-2.2.23-5.i386.rpm) = 16023
MD5 (rpm/i386/fedora/3/libattr-2.4.16-3.i386.rpm) = 89ccb14578301b7e5ebda8c33f83bfd4
SHA256 (rpm/i386/fedora/3/libattr-2.4.16-3.i386.rpm) = a94738f4666254b98ae9e6c09889f84c25eab910d8487632abc67c150f2a7110
SIZE (rpm/i386/fedora/3/libattr-2.4.16-3.i386.rpm) = 13711
MD5 (rpm/i386/fedora/3/libgcc-3.4.4-2.fc3.i386.rpm) = 0a617a9704b080fd4333d35f2c3da813
SHA256 (rpm/i386/fedora/3/libgcc-3.4.4-2.fc3.i386.rpm) = 9074ebfbd2672bf7f2e1568ec7dfd642db4fcf7007151fb8144da29b428bb22a
SIZE (rpm/i386/fedora/3/libgcc-3.4.4-2.fc3.i386.rpm) = 56146
MD5 (rpm/i386/fedora/3/libselinux-1.19.1-8.i386.rpm) = 7df901dc51c281a60532531f76f8abd9
SHA256 (rpm/i386/fedora/3/libselinux-1.19.1-8.i386.rpm) = 0e85611715455922319cfaf69ac7b26f6ad6354fd07e71030b0511cb7400272c
SIZE (rpm/i386/fedora/3/libselinux-1.19.1-8.i386.rpm) = 55838
MD5 (rpm/i386/fedora/3/libstdc++-3.4.2-6.fc3.i386.rpm) = 19ef917aa47e8b765574437f43bbcb63
SHA256 (rpm/i386/fedora/3/libstdc++-3.4.2-6.fc3.i386.rpm) = 629e7062c49fc9b574765dba92d1740f8fdaded10e651432680ee262dfcc87b1
SIZE (rpm/i386/fedora/3/libstdc++-3.4.2-6.fc3.i386.rpm) = 274034
MD5 (rpm/i386/fedora/3/libtermcap-2.0.8-39.i386.rpm) = 57077f4f4dd55d2eaa9b707d52f6912e
SHA256 (rpm/i386/fedora/3/libtermcap-2.0.8-39.i386.rpm) = 103c69b0dbd408af24d64982ed9eec2a0cc29aa200554d70238ebc15ee221e1c
SIZE (rpm/i386/fedora/3/libtermcap-2.0.8-39.i386.rpm) = 12513
MD5 (rpm/i386/fedora/3/ncurses-5.4-13.i386.rpm) = 33a216189c6992b24b2ce7d0ef4d583a
SHA256 (rpm/i386/fedora/3/ncurses-5.4-13.i386.rpm) = 6782e7c71e34fba5133ec6658ce289440b8e1e69dabbe5704a9bc803000c10e2
SIZE (rpm/i386/fedora/3/ncurses-5.4-13.i386.rpm) = 1585476
MD5 (rpm/i386/fedora/3/pcre-4.5-3.1.1.fc3.i386.rpm) = 81729fbca4064dd687bab07ae6cf9fd1
SHA256 (rpm/i386/fedora/3/pcre-4.5-3.1.1.fc3.i386.rpm) = 0846548a05e81d729cae7f56bc5b729fc9a035c35aacc703d043f90c44a38ff3
SIZE (rpm/i386/fedora/3/pcre-4.5-3.1.1.fc3.i386.rpm) = 59820
MD5 (rpm/i386/fedora/3/popt-1.9.1-21.i386.rpm) = 43c5d117670ba81b7a644009556a7f16
SHA256 (rpm/i386/fedora/3/popt-1.9.1-21.i386.rpm) = 963fc7fd0f50a3ecc86f3d743082053b91f2f0b94142b245cad8d5222e0d37cd
SIZE (rpm/i386/fedora/3/popt-1.9.1-21.i386.rpm) = 61743
MD5 (rpm/i386/fedora/3/readline-4.3-13.i386.rpm) = ef62a05e296f07f570290ab544764654
SHA256 (rpm/i386/fedora/3/readline-4.3-13.i386.rpm) = 529b8bc06091aa176b493f197f9d10bbe32a0efb104d181c67da3b5553e8c898
SIZE (rpm/i386/fedora/3/readline-4.3-13.i386.rpm) = 179559
MD5 (rpm/i386/fedora/3/rpm-4.3.2-21.i386.rpm) = b4d13a5bb80a4ad9482071417a850029
SHA256 (rpm/i386/fedora/3/rpm-4.3.2-21.i386.rpm) = d68aad637d0d81d98afce374cf6530106cf2bae5885770be7aa2a781b9ea7224
SIZE (rpm/i386/fedora/3/rpm-4.3.2-21.i386.rpm) = 570648
MD5 (rpm/i386/fedora/3/setserial-2.17-17.i386.rpm) = 8e1023ae052cf18cddc54fdc6a5e3d3e
SHA256 (rpm/i386/fedora/3/setserial-2.17-17.i386.rpm) = 00b75c770f7f5ca8dc31abaf637f9173dd1f1f8a448b85e770557be8206b07cb
SIZE (rpm/i386/fedora/3/setserial-2.17-17.i386.rpm) = 21238
MD5 (rpm/i386/fedora/3/setup-2.5.36-1.noarch.rpm) = bb911224b36329be95d84e03a04aad29
SHA256 (rpm/i386/fedora/3/setup-2.5.36-1.noarch.rpm) = b5fbb20e734d3b04fa945ae7650895c33f623f4e043a28ec95a1e742cacecb64
SIZE (rpm/i386/fedora/3/setup-2.5.36-1.noarch.rpm) = 30677
MD5 (rpm/i386/fedora/3/slang-1.4.9-13.i386.rpm) = 8a34abc94e0e88a54f1dd0168bee39ad
SHA256 (rpm/i386/fedora/3/slang-1.4.9-13.i386.rpm) = 3e7749bd98eb9f5d7d3f46904f3dfe7c90ee70a8b87642ce83a681d11f6b2c65
SIZE (rpm/i386/fedora/3/slang-1.4.9-13.i386.rpm) = 389990
MD5 (rpm/i386/fedora/3/termcap-5.4-4fc3.noarch.rpm) = d509cdad70bdc53c1559bf45b0cd5fc4
SHA256 (rpm/i386/fedora/3/termcap-5.4-4fc3.noarch.rpm) = 5c13cd87a3c5341faae2d89a8be12113ea1d89a5ac81c40ce96b70c26d42a9c3
SIZE (rpm/i386/fedora/3/termcap-5.4-4fc3.noarch.rpm) = 261260
MD5 (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.i386.rpm) = 7e577c3cfd0f101a1ac37140bfff39bb
SHA256 (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.i386.rpm) = 9b08f2aa12b916e834b97e634efd269f26bf49dcbe37ad40100f756e58dd1fb1
SIZE (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.i386.rpm) = 44638
MD5 (rpm/i386/fedora/3/basesystem-8.0-4.src.rpm) = 4eeb6fd41ef774764cf878cb208a4b1e
SHA256 (rpm/i386/fedora/3/basesystem-8.0-4.src.rpm) = 8669a950657561ed351ff3753bb19d0a41c762e20bf29d5c855c8aa5e0bb5ec6
SIZE (rpm/i386/fedora/3/basesystem-8.0-4.src.rpm) = 3641
MD5 (rpm/i386/fedora/3/bash-3.0-18.src.rpm) = c62c3bda734bcab8a759ca065d471157
SHA256 (rpm/i386/fedora/3/bash-3.0-18.src.rpm) = f47c90df0ff7c71ae564f7ab5fa90da24d47c8f9bcb055543509e4f786164431
SIZE (rpm/i386/fedora/3/bash-3.0-18.src.rpm) = 4463482
MD5 (rpm/i386/fedora/3/bzip2-1.0.2-13.src.rpm) = f7ab7db88ba06a3bc87db49555c7e6d9
SHA256 (rpm/i386/fedora/3/bzip2-1.0.2-13.src.rpm) = 88157983e5a5c97ab2396f97cc3b58d2cebd7d16a6b2a7ff5e077996b8a57c8d
SIZE (rpm/i386/fedora/3/bzip2-1.0.2-13.src.rpm) = 673982
MD5 (rpm/i386/fedora/3/compat-db-4.1.25-6.src.rpm) = 80cfe0ecc12032b45f369b347a353bf3
SHA256 (rpm/i386/fedora/3/compat-db-4.1.25-6.src.rpm) = f9741cb983896a17b0223afdfbabcc4754652b2893b36081e30158e472df1a27
SIZE (rpm/i386/fedora/3/compat-db-4.1.25-6.src.rpm) = 6051611
MD5 (rpm/i386/fedora/3/coreutils-5.2.1-31.src.rpm) = ead84d2d329d4f627408d1c76acebbe7
SHA256 (rpm/i386/fedora/3/coreutils-5.2.1-31.src.rpm) = 6535477ac70f00d325d4300d48febe3cb517df8ae362be7710579a3b19301f57
SIZE (rpm/i386/fedora/3/coreutils-5.2.1-31.src.rpm) = 4360877
MD5 (rpm/i386/fedora/3/db4-4.2.52-6.src.rpm) = 40e3cf1442afe3b7c5c4821f99a0a597
SHA256 (rpm/i386/fedora/3/db4-4.2.52-6.src.rpm) = 6cb182d0c06b04b14fa3b0b42242b1dc4e41ad0ef2b3471586bc07ce4e607c0b
SIZE (rpm/i386/fedora/3/db4-4.2.52-6.src.rpm) = 4359073
MD5 (rpm/i386/fedora/3/elfutils-0.96-1.src.rpm) = 6634af244767a1b16a1ceff892d0e1c2
SHA256 (rpm/i386/fedora/3/elfutils-0.96-1.src.rpm) = 3876c0ebb48623f0be5e2a22fafe0392f4f9fe90bbad9116870c8ca19a88dc36
SIZE (rpm/i386/fedora/3/elfutils-0.96-1.src.rpm) = 685183
MD5 (rpm/i386/fedora/3/fedora-release-3-8.src.rpm) = 1079512cf24016a6b284d95cc56f4e73
SHA256 (rpm/i386/fedora/3/fedora-release-3-8.src.rpm) = 35d745758efc56c78ec51b17e5dc855145f307206fe37a9771d04d499ab3f1b6
SIZE (rpm/i386/fedora/3/fedora-release-3-8.src.rpm) = 84070
MD5 (rpm/i386/fedora/3/filesystem-2.3.0-1.src.rpm) = e9cf7216309256947b923486c66a1d90
SHA256 (rpm/i386/fedora/3/filesystem-2.3.0-1.src.rpm) = 33c2def32f593b2f072d796ee887b6ee57f4021829693acf13b2762aa075cebe
SIZE (rpm/i386/fedora/3/filesystem-2.3.0-1.src.rpm) = 8943
MD5 (rpm/i386/fedora/3/freetype-2.1.9-1.src.rpm) = a7799dcdbe4918dad54e1809c0dc8017
SHA256 (rpm/i386/fedora/3/freetype-2.1.9-1.src.rpm) = 088857f84ec53c1c2deb725abff6132c3e811ace4ba53a0f0fa200300842b214
SIZE (rpm/i386/fedora/3/freetype-2.1.9-1.src.rpm) = 1997554
MD5 (rpm/i386/fedora/3/gcc-3.4.4-2.fc3.src.rpm) = 4bace738841d2f80835672f9308b4011
SHA256 (rpm/i386/fedora/3/gcc-3.4.4-2.fc3.src.rpm) = 1c814959aafc5ee73785291fd90754a106464df58a827792f4589e53a6244bb2
SIZE (rpm/i386/fedora/3/gcc-3.4.4-2.fc3.src.rpm) = 26370149
MD5 (rpm/i386/fedora/3/gdbm-1.8.0-24.src.rpm) = 5e75d5cab6a9f1ea6782e13d4d4ca98f
SHA256 (rpm/i386/fedora/3/gdbm-1.8.0-24.src.rpm) = ef8423a513bf6766ca449194be8e97ce106e80c5142e069d952057965d896d77
SIZE (rpm/i386/fedora/3/gdbm-1.8.0-24.src.rpm) = 144134
MD5 (rpm/i386/fedora/3/glib-1.2.10-15.src.rpm) = 5b63cc8e17cd94845a3d27afca327d94
SHA256 (rpm/i386/fedora/3/glib-1.2.10-15.src.rpm) = 21c70f9d33a3deea1ff67fb6fce1d4d5485d4c3d22eb33086aaa7c7c3b9d194c
SIZE (rpm/i386/fedora/3/glib-1.2.10-15.src.rpm) = 430137
MD5 (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.src.rpm) = 2b91b59a25605f2d2f7882fc0f258165
SHA256 (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.src.rpm) = 8453092427b6e09fc5b6aac60ec38cd13c343661ff80fbc0ee6c0ea7dfdb587f
SIZE (rpm/i386/fedora/3/glibc-2.3.6-0.fc3.1.src.rpm) = 14517025
MD5 (rpm/i386/fedora/3/grep-2.5.1-31.src.rpm) = a827adfefe241101a29bba8302f4ef58
SHA256 (rpm/i386/fedora/3/grep-2.5.1-31.src.rpm) = 9365b3c0b6aa2749163c6aeb38d8a0c91cb0ff24a60d669410103e97112c19a9
SIZE (rpm/i386/fedora/3/grep-2.5.1-31.src.rpm) = 582594
MD5 (rpm/i386/fedora/3/libselinux-1.19.1-8.src.rpm) = 1087bd1bf93e6427f53fd33e6866628f
SHA256 (rpm/i386/fedora/3/libselinux-1.19.1-8.src.rpm) = 18ec44f7c768185334f41ac574cd45553c9bf68ce2fb6ebdd56e29b535d76cee
SIZE (rpm/i386/fedora/3/libselinux-1.19.1-8.src.rpm) = 95005
MD5 (rpm/i386/fedora/3/libtermcap-2.0.8-39.src.rpm) = e6b419bbc1b58cbaed489050bf0dc424
SHA256 (rpm/i386/fedora/3/libtermcap-2.0.8-39.src.rpm) = a6136b99ce161fcfc2ffcdecb721a6fc0563c483a051473463b4f967332c7cab
SIZE (rpm/i386/fedora/3/libtermcap-2.0.8-39.src.rpm) = 227526
MD5 (rpm/i386/fedora/3/ncurses-5.4-13.src.rpm) = 838ae040049fef7c85fc53bbeb35bc35
SHA256 (rpm/i386/fedora/3/ncurses-5.4-13.src.rpm) = 2ea27eaff97fb9d708ad5bce2abe34743868ade463add54d4b5ac95d2dc604d9
SIZE (rpm/i386/fedora/3/ncurses-5.4-13.src.rpm) = 1834009
MD5 (rpm/i386/fedora/3/pcre-4.5-3.src.rpm) = c14617addfcf4eaab7a705fd3014f545
SHA256 (rpm/i386/fedora/3/pcre-4.5-3.src.rpm) = db11eb57e7dcb6c4558535ce433e6e7955f91715398895629b7fa3e43e9176ad
SIZE (rpm/i386/fedora/3/pcre-4.5-3.src.rpm) = 355273
MD5 (rpm/i386/fedora/3/readline-4.3-13.src.rpm) = 6c54094e432087f3c7d7dce004647ab4
SHA256 (rpm/i386/fedora/3/readline-4.3-13.src.rpm) = 33d8388683566249c92491ea5df981e1314d9d3a3cddab0e71ec00bf4c5fe200
SIZE (rpm/i386/fedora/3/readline-4.3-13.src.rpm) = 751222
MD5 (rpm/i386/fedora/3/rpm-4.3.2-21.src.rpm) = a55467109f45dabee826bdc400f534d4
SHA256 (rpm/i386/fedora/3/rpm-4.3.2-21.src.rpm) = 54539980b54c3ba2717cd3cc0c73d589d39009e6d25e7897e34a93d74d7b62a1
SIZE (rpm/i386/fedora/3/rpm-4.3.2-21.src.rpm) = 7879266
MD5 (rpm/i386/fedora/3/setserial-2.17-17.src.rpm) = d8b5d3f1e80ef62bcb1fd0d31bb16871
SHA256 (rpm/i386/fedora/3/setserial-2.17-17.src.rpm) = 3f01f745fe7392a72494fbf02a90caafdee61bcaddc36f2e0d5862ad1d117238
SIZE (rpm/i386/fedora/3/setserial-2.17-17.src.rpm) = 60706
MD5 (rpm/i386/fedora/3/setup-2.5.36-1.src.rpm) = 7c2d59a422e5ec5d96ef233aa9421271
SHA256 (rpm/i386/fedora/3/setup-2.5.36-1.src.rpm) = fbef84a2094709f4f4c408b70dd373ffb68dadd983f2a00438406c9b5a35230e
SIZE (rpm/i386/fedora/3/setup-2.5.36-1.src.rpm) = 38465
MD5 (rpm/i386/fedora/3/slang-1.4.9-13.src.rpm) = 43f4d3c35528a85764c377127f3f45c3
SHA256 (rpm/i386/fedora/3/slang-1.4.9-13.src.rpm) = 94c991637232931587d9c19caf522056ead8c42301043d191517562efee1c5c3
SIZE (rpm/i386/fedora/3/slang-1.4.9-13.src.rpm) = 652479
MD5 (rpm/i386/fedora/3/termcap-5.4-4fc3.src.rpm) = 338991b12ff778fc32275a293d3549bd
SHA256 (rpm/i386/fedora/3/termcap-5.4-4fc3.src.rpm) = 3b672bf3f4a4fdb8188c72dfb3daebc58e752055073d53f98d1c419e3ff7521a
SIZE (rpm/i386/fedora/3/termcap-5.4-4fc3.src.rpm) = 2403327
MD5 (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.src.rpm) = ec7a8a3e96b9aa31228c37f8bd4f110a
SHA256 (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.src.rpm) = 809d824b86d4940dd7306185a1e68e418593c28285bf6ef536e1228dd3b86fed
SIZE (rpm/i386/fedora/3/zlib-1.2.1.2-3.fc3.src.rpm) = 366729

View File

@@ -1,15 +0,0 @@
# sample yp.conf file
#
# Legal entries are:
#
# domainname <domain> Override the default YP domain
# (If not set uses the one from
# the getdomainname() syscall)
#
# ypserver <grape> [<domain>] Define which host to contact
# for YP service. If the <domain>
# argument is included then this
# host service the specified YP
# domain.
#domainname my.domain
#ypserver localhost

View File

@@ -1,18 +0,0 @@
#!/bin/sh
# a deinstallation script for linux_base
case "$2" in
DEINSTALL)
if [ -n "`mount | grep ^linproc`" ] || \
[ -d /compat/linux/proc ]; then
echo ""
echo "You may need to do by hand:"
echo " o unmount linprocfs if mounted"
echo " o delete ${PKG_PREFIX}/proc if present"
echo " o remove/comment linprocfs from /etc/fstab if present"
echo ""
fi
;;
esac
exit 0

View File

@@ -1,9 +0,0 @@
This port contains packages from a near-minimal installation of Fedora Core
Linux 3.0. These packages, in conjunction with the linux kernel module,
form the basis of the Linux compatibility environment.
This port is only available for the i386/amd64 architecture (i386/32 bit mode).
If you use an Alpha computer, please install the linux_base port instead
of this one.
If you want to run X11 applications, install the x11/linux-XFree86-libs port.

View File

@@ -1,43 +0,0 @@
#!/bin/sh
# an installation script for linux_base
case "$2" in
PRE-INSTALL)
if [ -z "`kldstat -v | grep -E 'linux(aout|elf)'`" ]; then
echo 'Linux mode is not enabled.'
echo 'Loading linux kernel module now...'
if ! kldload linux; then
echo 'The linux kernel module could not be loaded.'
echo 'Please enable linux mode manually and retry.'
exit 1
fi
fi
;;
POST-INSTALL)
if [ -z "`grep ^linproc /etc/fstab`" ]; then
echo ''
echo '+++ Some programs may need linprocfs, please add it to /etc/fstab! +++'
else
if [ -z "`mount | grep -w ^linprocfs`" ]; then
echo ''
echo '+++ Please mount linprocfs manually! +++'
fi
fi
if [ ! -f ${PKG_PREFIX}/etc/nsswitch.conf ]; then
cp ${PKG_PREFIX}/etc/nsswitch.conf.dist \
${PKG_PREFIX}/etc/nsswitch.conf
fi
if [ ! -f ${PKG_PREFIX}/etc/yp.conf ]; then
cp ${PKG_PREFIX}/etc/yp.conf.sample ${PKG_PREFIX}/etc/yp.conf
fi
#
# This is needed when updating to ensure that already installed libraries
# are recorded in ${PKG_PREFIX}/etc/ld.so.cache
#
echo ''
echo 'Running linux ldconfig...'
${PKG_PREFIX}/sbin/ldconfig -r ${PKG_PREFIX}
;;
esac
exit 0

View File

@@ -1,20 +0,0 @@
This software is based in part on the work of the FreeType Team.
See <URL:http://www.freetype.org/>.
Installation of the Linux base system is finished. The Linux kernel
mode, which must be enabled for Linux binaries to run, is now
enabled. Linux mode can be enabled permanently with the linux_enable
variable of rc.conf(5).
To make use of NIS you have to adjust yp.conf and nsswitch.conf in
/compat/linux/etc/ accordingly. For example:
Set your yp-server and yp-domainname in yp.conf:
domainname my.yp.domainname
ypserver my.yp.server
Let your lists for hosts, passwd and group be resolved via nsswitch.conf:
passwd: files nis
shadow: files nis
group: files nis
hosts: files dns nis

File diff suppressed because it is too large Load Diff

View File

@@ -301,7 +301,6 @@
SUBDIR += lile
SUBDIR += lingoteach
SUBDIR += linm
SUBDIR += linux-opengroupware
SUBDIR += localedata
SUBDIR += logsurfer
SUBDIR += loop

View File

@@ -1,230 +0,0 @@
# New ports collection makefile for: linux-opengroupware.org
# Date created: 2003-07-20
# Whom: Frank Reppin
#
# $FreeBSD$
PORTNAME= opengroupware
PORTVERSION= 1.0
PORTREVISION= 5
CATEGORIES= misc www linux
MASTER_SITES= http://download.opengroupware.org/nightly/packages/freebsd/linux-opengroupware/RPMS/:ogo \
http://download.opengroupware.org/nightly/packages/freebsd/linux-opengroupware/NGOBJWEB/:ngo \
${MASTER_SITE_REDHAT_LINUX}
MASTER_SITE_SUBDIR= updates/8.0/en/os/${MACHINE_ARCH}
PKGNAMEPREFIX= linux-
DISTFILES= ${SET1} \
${SET2} \
${SET3}
EXTRACT_ONLY= ${NGOBJWEB_ADAPTOR}
MAINTAINER= frank@opengroupware.org
COMMENT= Groupware package including mail, calendar, palm sync and much more
EXTRACT_DEPENDS= rpm2cpio:${PORTSDIR}/archivers/rpm
RUN_DEPENDS= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache20 \
${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash2 \
${LOCALBASE}/bin/gmake:${PORTSDIR}/devel/gmake
BROKEN= Will be replaced by a fixed version with migration instructions.
EXPIRATION_DATE=2006-06-15
USE_PGSQL= yes
#BEGINSET1
SET1= opengroupware-core-4.2-ogo107.i386.rpm:ogo \
opengroupware-core-tools-4.2-ogo107.i386.rpm:ogo \
opengroupware-database-1.0-ogo022.i386.rpm:ogo \
opengroupware-docapi-1.0-ogo101.i386.rpm:ogo \
opengroupware-env-1.0-ogo016.i386.rpm:ogo \
opengroupware-epoz-0.6.1-ogo003.i386.rpm:ogo \
opengroupware-gstep-db-4.2-ogo042.i386.rpm:ogo \
opengroupware-gstep-db-postgresql72-4.2-ogo042.i386.rpm:ogo \
opengroupware-gstep-make-4.2-ogo009.i386.rpm:ogo \
opengroupware-gstep-objc-2.95.3-ogo011.i386.rpm:ogo \
opengroupware-js-1.5-ogo013.i386.rpm:ogo \
opengroupware-libfoundation-1.0.25-ogo049.i386.rpm:ogo \
opengroupware-libical-0.23.0-ogo010.i386.rpm:ogo \
opengroupware-libxml2-2.6.11-ogo002.i386.rpm:ogo \
opengroupware-libxslt-1.1.8-ogo002.i386.rpm:ogo \
opengroupware-logic-1.0-ogo112.i386.rpm:ogo \
opengroupware-nhsc-1.0-ogo001.i386.rpm:ogo \
opengroupware-pda-1.0-ogo033.i386.rpm:ogo \
opengroupware-pilot-link-0.10.99-ogo008.i386.rpm:ogo \
opengroupware-plr-1.0-ogo008.i386.rpm:ogo \
opengroupware-publisher-1.0-ogo020.i386.rpm:ogo \
opengroupware-sope-4.2-ogo163.i386.rpm:ogo \
opengroupware-theme-blue-de-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-blue-en-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-default-de-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-default-dk-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-default-en-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-default-es-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-default-it-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-kde-en-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-ooo-de-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-ooo-en-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-orange-de-1.0-ogo039.i386.rpm:ogo \
opengroupware-theme-orange-en-1.0-ogo039.i386.rpm:ogo \
opengroupware-tools-account-1.0-ogo031.i386.rpm:ogo \
opengroupware-tools-aptnotify-1.0-ogo031.i386.rpm:ogo \
opengroupware-tools-bulkmessages-1.0-ogo031.i386.rpm:ogo \
opengroupware-tools-installsieve-1.0-ogo031.i386.rpm:ogo \
opengroupware-webui-admin-1.0-ogo032.i386.rpm:ogo \
opengroupware-webui-app-1.0-ogo054.i386.rpm:ogo \
opengroupware-webui-common-1.0-ogo087.i386.rpm:ogo \
opengroupware-webui-contact-1.0-ogo072.i386.rpm:ogo \
opengroupware-webui-forms-1.0-ogo016.i386.rpm:ogo \
opengroupware-webui-job-1.0-ogo037.i386.rpm:ogo \
opengroupware-webui-libs-1.0-ogo059.i386.rpm:ogo \
opengroupware-webui-mailer-1.0-ogo077.i386.rpm:ogo \
opengroupware-webui-news-1.0-ogo018.i386.rpm:ogo \
opengroupware-webui-prefs-1.0-ogo038.i386.rpm:ogo \
opengroupware-webui-project-1.0-ogo077.i386.rpm:ogo \
opengroupware-webui-resource-de-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-dk-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-en-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-es-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-fr-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-it-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-nl-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-resource-pt_BR-1.0-ogo132.i386.rpm:ogo \
opengroupware-webui-scheduler-1.0-ogo080.i386.rpm:ogo \
opengroupware-xml-4.2-ogo066.i386.rpm:ogo \
opengroupware-xml-STXSaxDriver-4.2-ogo066.i386.rpm:ogo \
opengroupware-xml-icalsaxdriver-4.2-ogo066.i386.rpm:ogo \
opengroupware-xml-libxmlsaxdriver-4.2-ogo066.i386.rpm:ogo \
opengroupware-xmlrpcd-1.0-ogo049.i386.rpm:ogo \
opengroupware-zidestore-1.2-ogo082.i386.rpm:ogo
#ENDSET1
SET2= ${NGOBJWEB_ADAPTOR}:ngo
SET3= postgresql-libs-7.2.4-5.80.i386.rpm \
openssl-0.9.6b-35.8.i386.rpm \
cyrus-sasl-2.1.10-1.i386.rpm \
openldap-2.0.27-2.8.0.i386.rpm \
pam-0.75-46.8.0.i386.rpm \
krb5-libs-1.2.5-15.i386.rpm
NGOBJWEB_ADAPTOR= opengroupware.org-mod_ngobjweb-200407092000.tar.gz
PATCHDIR?= ${MASTERDIR}/files
USE_LINUX= yes
USE_GMAKE= yes
MAKEFILE= ${WRKSRC}/opengroupware.org-mod_ngobjweb/GNUmakefile
BUILD_WRKSRC?= ${WRKSRC}/opengroupware.org-mod_ngobjweb
NGWEB_ADAP_DIR= opengroupware.org-mod_ngobjweb
PKGNAME_PREFIX= linux-
ONLY_FOR_ARCHS= i386
NO_PACKAGE= We dont really build anything ...
DIST_SUBDIR= ogo
PLIST= ${WRKDIR}/pkg-plist
MD5_FILE= ${MASTERDIR}/distinfo.${MACHINE_ARCH}
PREFIX= ${LINUXBASE}
.include <bsd.port.pre.mk>
RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
CPIOFLAGS= --extract --make-directories --no-absolute-filenames \
--preserve-modification-time --quiet
RPMDIR= ${DISTDIR}/${DIST_SUBDIR}
REMOVEFILES= .md5sum .md5sum.changes \
${NGOBJWEB_ADAPTOR} \
etc/rc.d/init.d/saslauthd \
usr/sbin/dbconverter-2 \
usr/sbin/saslauthd \
usr/sbin/sasldblistusers \
usr/sbin/sasldblistusers2 \
usr/sbin/saslpasswd \
usr/sbin/saslpasswd2 \
sbin/pam_console_apply \
sbin/pam_tally \
sbin/pam_timestamp_check \
sbin/pwdb_chkpwd \
sbin/unix_chkpwd \
etc/krb5.conf \
etc/rc.d/init.d/kdcrotate \
usr/bin/openssl
REMOVEDIRS= ${NGWEB_ADAP_DIR} \
etc/openldap \
usr/share/openldap \
usr/kerberos/share
do-extract:
@${RM} -rf ${WRKDIR}
@${MKDIR} ${WRKSRC}
@${CP} ${DISTDIR}/${DIST_SUBDIR}/${EXTRACT_ONLY} ${WRKSRC}
@(cd ${WRKSRC} && ${TAR} xfz ${EXTRACT_ONLY})
@for myfile in ${SET1} ${SET3}; do \
ourfile=`${ECHO} $$myfile |${SED} -e 's/:ogo//'`; \
${ECHO} "Extracting for: $$ourfile"; \
(cd ${WRKSRC} && ${RPM2CPIO} ${RPMDIR}/$$ourfile | ${CPIO} ${CPIOFLAGS}); \
done
post-build:
${INSTALL} ${COPY} -m 644 ${WRKSRC}/${NGWEB_ADAP_DIR}/ngobjweb*.so ${WRKSRC}/opt/opengroupware.org
@for delfile in ${REMOVEFILES}; do \
${ECHO} "Removing unecessary file in ${WRKSRC}: $$delfile"; \
${RM} -f ${WRKSRC}/$$delfile; \
done
@for deldir in ${REMOVEDIRS}; do \
${ECHO} "Removing unecessary dir in ${WRKSRC}: $$deldir"; \
${RM} -rf ${WRKSRC}/$$deldir; \
done
.if !defined(EXTRACT_PRESERVE_OWNERSHIP)
@if [ `id -u` = 0 ]; then \
${CHMOD} -R ug-s ${WRKDIR}; \
${CHOWN} -R 0:0 ${WRKDIR}; \
fi
.endif
pre-install:
${RM} -f ${PLIST}
cd ${WRKSRC} && ${FIND} -s . -type f -o -type l | \
${CUT} -c3-999 >> ${PLIST} \
&& ${FIND} -d * -type d | ${SED} -e 's:^:@dirrm :' >> ${PLIST}
do-install:
cd ${WRKSRC} && ${FIND} * | ${CPIO} -dlmp ${PREFIX}
${FIND} ${PREFIX} -type d \! -ipath '${LINUXBASE}/proc*' -exec ${CHMOD} 755 \{\} \;
post-install:
@${MKDIR} ${LINUXBASE}/opt/opengroupware.org/documents
@${CHMOD} 750 ${LINUXBASE}/opt/opengroupware.org/documents
@${MKDIR} ${LINUXBASE}/opt/opengroupware.org/news
@${CHMOD} 750 ${LINUXBASE}/opt/opengroupware.org/news
@${ECHO} '/opt/skyrix/system/Libraries/ix86/linux-gnu/gnu-fd-nil' >>${LINUXBASE}/etc/ld.so.conf
@${ECHO} '/opt/opengroupware.org/Libraries/ix86/linux-gnu/gnu-fd-nil' >>${LINUXBASE}/etc/ld.so.conf
@${ECHO} '/usr/kerberos/lib' >>${LINUXBASE}/etc/ld.so.conf
@${LN} -sf ${LINUXBASE}/usr/lib/libpq.so.2 ${LINUXBASE}/usr/lib/libpq.so.3
@${LN} -sf ${LINUXBASE}/lib/libssl.so.0.9.6b ${LINUXBASE}/lib/libssl.so.9.6
@${LN} -sf ${LINUXBASE}/lib/libcrypto.so.0.9.6b ${LINUXBASE}/lib/libcrypto.so.2
@${PREFIX}/sbin/ldconfig
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/skyrix
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org
@${INSTALL} -d -m 770 -o ogo -g skyrix /var/log/opengroupware
@${CHOWN} -Rh ogo:skyrix /var/log/opengroupware
@${INSTALL} -m 640 -o ogo -g skyrix ${FILESDIR}/OpenGroupware.org.sh.tmpl ${LINUXBASE}/opt/opengroupware.org/OpenGroupware.org.sh
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} WRITE-DEFAULTS-FIRSTTIME
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} COPY-TEMPLATES
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org/.libFoundation
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/ogo.sh.sample ${LOCALBASE}/etc/rc.d/ogo.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/zidestore.sh.sample ${LOCALBASE}/etc/rc.d/zidestore.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/xmlrpcd.sh.sample ${LOCALBASE}/etc/rc.d/xmlrpcd.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/nhsd.sh.sample ${LOCALBASE}/etc/rc.d/nhsd.sh.sample
@${PERL} ${SCRIPTDIR}/patch_apache_version.pl
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org/OpenGroupware.org.apacheinclude
@${INSTALL} -m 444 -o ogo -g skyrix ${FILESDIR}/INSTALL.fbsd ${LINUXBASE}/opt/opengroupware.org/INSTALL.fbsd
@${ECHO} ''
@fmt ${PKGMESSAGE}
@${ECHO} ''
.include <bsd.port.post.mk>

View File

@@ -1,213 +0,0 @@
MD5 (ogo/opengroupware-core-4.2-ogo107.i386.rpm) = 787cf85d735a1ddbe7685666af292756
SHA256 (ogo/opengroupware-core-4.2-ogo107.i386.rpm) = e601e3dc0e5eba3c55d21477a5372bb144a1b2dba1da79db8d7295382c085b31
SIZE (ogo/opengroupware-core-4.2-ogo107.i386.rpm) = 3570694
MD5 (ogo/opengroupware-core-tools-4.2-ogo107.i386.rpm) = 6017997da628211d962aad6a8186ccee
SHA256 (ogo/opengroupware-core-tools-4.2-ogo107.i386.rpm) = 41b8fd82eebc7f00cb196330ebfe489de5eea0db238bb21044818018122a9838
SIZE (ogo/opengroupware-core-tools-4.2-ogo107.i386.rpm) = 27956
MD5 (ogo/opengroupware-database-1.0-ogo022.i386.rpm) = 63791e65c4b235f39027e520d16407d6
SHA256 (ogo/opengroupware-database-1.0-ogo022.i386.rpm) = 31ac73b68e7318e16daa7a9f3f795b16c2fd0d823d63474209d55521a4d10bc7
SIZE (ogo/opengroupware-database-1.0-ogo022.i386.rpm) = 92165
MD5 (ogo/opengroupware-docapi-1.0-ogo101.i386.rpm) = f1f325a300c66d8e3c6cf1c0002b6a38
SHA256 (ogo/opengroupware-docapi-1.0-ogo101.i386.rpm) = 4347aa526ac1d364583df9d86f9e6db2fff0194670761305668b26077392055e
SIZE (ogo/opengroupware-docapi-1.0-ogo101.i386.rpm) = 459642
MD5 (ogo/opengroupware-env-1.0-ogo016.i386.rpm) = d473211df0887439b3785fc45055f4b6
SHA256 (ogo/opengroupware-env-1.0-ogo016.i386.rpm) = 249edd188b1509842bde2139b96380054eb47236e3855aea68fb9847750ef952
SIZE (ogo/opengroupware-env-1.0-ogo016.i386.rpm) = 9357
MD5 (ogo/opengroupware-epoz-0.6.1-ogo003.i386.rpm) = cabc40bba9f9316a26126a884bbe8730
SHA256 (ogo/opengroupware-epoz-0.6.1-ogo003.i386.rpm) = f8e1f5cbf69786344bbba952fecc6976d0ef93113980aef03b69c01c39df2688
SIZE (ogo/opengroupware-epoz-0.6.1-ogo003.i386.rpm) = 32836
MD5 (ogo/opengroupware-gstep-db-4.2-ogo042.i386.rpm) = 321f22583434519cd7039bb3c2fd19da
SHA256 (ogo/opengroupware-gstep-db-4.2-ogo042.i386.rpm) = bcd73008ee0433677f57ecd4d8d98079bed527dd2e92f31415f81c667602b3ac
SIZE (ogo/opengroupware-gstep-db-4.2-ogo042.i386.rpm) = 856448
MD5 (ogo/opengroupware-gstep-db-postgresql72-4.2-ogo042.i386.rpm) = 074cf616e02bed2809bd7ff409c9a8ba
SHA256 (ogo/opengroupware-gstep-db-postgresql72-4.2-ogo042.i386.rpm) = 97b64675e3fe7e7b3e316e67239707ac2e89e9c276286c671e0ca7faf579f5dc
SIZE (ogo/opengroupware-gstep-db-postgresql72-4.2-ogo042.i386.rpm) = 248069
MD5 (ogo/opengroupware-gstep-make-4.2-ogo009.i386.rpm) = d7ed33ae09dba61e1a43fdacef522655
SHA256 (ogo/opengroupware-gstep-make-4.2-ogo009.i386.rpm) = 6f5869c5943d8342b8e54e2976ce7bac08074ad38fb3973573ff828d8bd1ff6a
SIZE (ogo/opengroupware-gstep-make-4.2-ogo009.i386.rpm) = 366827
MD5 (ogo/opengroupware-gstep-objc-2.95.3-ogo011.i386.rpm) = 664368dda13a95f041764f1c3569297a
SHA256 (ogo/opengroupware-gstep-objc-2.95.3-ogo011.i386.rpm) = 831f303b021a3a205998845641964c6ebeea0701200c6ca137e5687fdd2b49ab
SIZE (ogo/opengroupware-gstep-objc-2.95.3-ogo011.i386.rpm) = 210548
MD5 (ogo/opengroupware-js-1.5-ogo013.i386.rpm) = d65a341f950fb9c18ed36bcadf88a13e
SHA256 (ogo/opengroupware-js-1.5-ogo013.i386.rpm) = 03d61277a2b6838c0dfbaa4caf4e21ff5e951f3bcf876fd844d0dcc8ae40af9f
SIZE (ogo/opengroupware-js-1.5-ogo013.i386.rpm) = 800138
MD5 (ogo/opengroupware-libfoundation-1.0.25-ogo049.i386.rpm) = b17861dc60c7a1870dfb97834f84133c
SHA256 (ogo/opengroupware-libfoundation-1.0.25-ogo049.i386.rpm) = 3d6485ae069fac978c631ead8ae96f2ed9a1a721ee803d7bbacd764fcc140f73
SIZE (ogo/opengroupware-libfoundation-1.0.25-ogo049.i386.rpm) = 1521203
MD5 (ogo/opengroupware-libical-0.23.0-ogo010.i386.rpm) = 6c7e02d1f2ffe5370cd12f60b27f5c4e
SHA256 (ogo/opengroupware-libical-0.23.0-ogo010.i386.rpm) = 3b068b502ad8299618a0071e8ec1f5fd3c7c65d304ada9a3c6e2ab9372e198fd
SIZE (ogo/opengroupware-libical-0.23.0-ogo010.i386.rpm) = 257827
MD5 (ogo/opengroupware-libxml2-2.6.11-ogo002.i386.rpm) = d458371c832e0a0aa6892cab5f99171b
SHA256 (ogo/opengroupware-libxml2-2.6.11-ogo002.i386.rpm) = 06cae8662f9d17df24663e64933f0f6cce15d8dafdea9ae3b30a09a13d56e835
SIZE (ogo/opengroupware-libxml2-2.6.11-ogo002.i386.rpm) = 1233783
MD5 (ogo/opengroupware-libxslt-1.1.8-ogo002.i386.rpm) = cf55761e7bd79f93393b5687a455141c
SHA256 (ogo/opengroupware-libxslt-1.1.8-ogo002.i386.rpm) = fb44daeae64d7230143aac8f663ce4eebf8c1fa33d9d2b024e4da9e4648f6a56
SIZE (ogo/opengroupware-libxslt-1.1.8-ogo002.i386.rpm) = 459934
MD5 (ogo/opengroupware-logic-1.0-ogo112.i386.rpm) = cefc84a88377495c83eb722d4bd3e30f
SHA256 (ogo/opengroupware-logic-1.0-ogo112.i386.rpm) = c10e6e43c1535df05731e743269d81feb8109cd6b00d496edd5c4554c88892b0
SIZE (ogo/opengroupware-logic-1.0-ogo112.i386.rpm) = 792096
MD5 (ogo/opengroupware-nhsc-1.0-ogo001.i386.rpm) = 3aeb1da6507593081bcd26592297273f
SHA256 (ogo/opengroupware-nhsc-1.0-ogo001.i386.rpm) = df80ba427f217b224e14abc9e823acb5bb06cbb1080d5c2c3fbba5e3498512c2
SIZE (ogo/opengroupware-nhsc-1.0-ogo001.i386.rpm) = 1979325
MD5 (ogo/opengroupware-pda-1.0-ogo033.i386.rpm) = 699fd461e8464dc3f8a41b618dc2d277
SHA256 (ogo/opengroupware-pda-1.0-ogo033.i386.rpm) = 15d758d30a4b3cb6c81a27bfb26053a4d2e9b253d6688674acffd766a20f1027
SIZE (ogo/opengroupware-pda-1.0-ogo033.i386.rpm) = 358701
MD5 (ogo/opengroupware-pilot-link-0.10.99-ogo008.i386.rpm) = 4b75fe9c7419b9337382620f283badbb
SHA256 (ogo/opengroupware-pilot-link-0.10.99-ogo008.i386.rpm) = 26d38e63bc15e716e12459cf576cbfce69b4bfd0cfd322cc7deb6d3b844f8817
SIZE (ogo/opengroupware-pilot-link-0.10.99-ogo008.i386.rpm) = 62859
MD5 (ogo/opengroupware-plr-1.0-ogo008.i386.rpm) = 73dd9ae520b68482844ddfe0e1c88397
SHA256 (ogo/opengroupware-plr-1.0-ogo008.i386.rpm) = 0a79c439a40ab8c58a844286328ed11722d02aefdca4c0c1011803332dc1b539
SIZE (ogo/opengroupware-plr-1.0-ogo008.i386.rpm) = 185952
MD5 (ogo/opengroupware-publisher-1.0-ogo020.i386.rpm) = 0022ed29467257e2419309b1c2f0caa7
SHA256 (ogo/opengroupware-publisher-1.0-ogo020.i386.rpm) = 38f2eced151f7b10ecc43cd492d6797d51abf71677853e7cce1d28eb87e7ba19
SIZE (ogo/opengroupware-publisher-1.0-ogo020.i386.rpm) = 235553
MD5 (ogo/opengroupware-sope-4.2-ogo163.i386.rpm) = e2445d7d9decaf1cabefea7214e79adf
SHA256 (ogo/opengroupware-sope-4.2-ogo163.i386.rpm) = b27152a3a97665ca7806852ed043a2c6e3ab599ab12f573ff74f94c145e21e12
SIZE (ogo/opengroupware-sope-4.2-ogo163.i386.rpm) = 8956868
MD5 (ogo/opengroupware-theme-blue-de-1.0-ogo039.i386.rpm) = 9d2dbbdaf4dc8b797d931aee359fcbc9
SHA256 (ogo/opengroupware-theme-blue-de-1.0-ogo039.i386.rpm) = 550f96a34bef5d57a54ad2b69e1674f083f722acbb99332de7db0834735a4894
SIZE (ogo/opengroupware-theme-blue-de-1.0-ogo039.i386.rpm) = 229254
MD5 (ogo/opengroupware-theme-blue-en-1.0-ogo039.i386.rpm) = 2808cbb44705412e864b96551108ec6e
SHA256 (ogo/opengroupware-theme-blue-en-1.0-ogo039.i386.rpm) = c8528af9059eb53f3a750930b40a040ae6c788042fd5d1c18a1ca47ee4466d53
SIZE (ogo/opengroupware-theme-blue-en-1.0-ogo039.i386.rpm) = 247788
MD5 (ogo/opengroupware-theme-default-de-1.0-ogo039.i386.rpm) = ac3927b5d1ce3ed8620fa68a1f361c0a
SHA256 (ogo/opengroupware-theme-default-de-1.0-ogo039.i386.rpm) = 5a375ac8dffbc6d167941d80acfef9c938ebe534531cad5095c09f94f7dc491b
SIZE (ogo/opengroupware-theme-default-de-1.0-ogo039.i386.rpm) = 372663
MD5 (ogo/opengroupware-theme-default-dk-1.0-ogo039.i386.rpm) = c57ec12d448eb4d5cc942c97e1a5f190
SHA256 (ogo/opengroupware-theme-default-dk-1.0-ogo039.i386.rpm) = 34ec004fbd3a7a558d4dc0a7ac90a7dbc69746076e1c12ac8d17dc7c1294b488
SIZE (ogo/opengroupware-theme-default-dk-1.0-ogo039.i386.rpm) = 2939
MD5 (ogo/opengroupware-theme-default-en-1.0-ogo039.i386.rpm) = 637c7e3fa3622ccde911187d62098113
SHA256 (ogo/opengroupware-theme-default-en-1.0-ogo039.i386.rpm) = 5ae3038921e964c253fa5ef9e82c67d2e8ca0c97b234edcc347ffd1e89dc6fbc
SIZE (ogo/opengroupware-theme-default-en-1.0-ogo039.i386.rpm) = 383584
MD5 (ogo/opengroupware-theme-default-es-1.0-ogo039.i386.rpm) = ce17514bd2610d025d7f0e33dfc653d3
SHA256 (ogo/opengroupware-theme-default-es-1.0-ogo039.i386.rpm) = af2af750f4de380a139ccfe12094b052fc375fc4816f8bfdce00a11301a3a025
SIZE (ogo/opengroupware-theme-default-es-1.0-ogo039.i386.rpm) = 5735
MD5 (ogo/opengroupware-theme-default-it-1.0-ogo039.i386.rpm) = 691fbc8e61a2b5b703828d53ac6081cc
SHA256 (ogo/opengroupware-theme-default-it-1.0-ogo039.i386.rpm) = 2e8e2fd9edbdf4e9ef6547e4625161c67017a72aa857c5b348804f7706223eae
SIZE (ogo/opengroupware-theme-default-it-1.0-ogo039.i386.rpm) = 2947
MD5 (ogo/opengroupware-theme-kde-en-1.0-ogo039.i386.rpm) = be16e5d9944b7b2b8d2843aea420e784
SHA256 (ogo/opengroupware-theme-kde-en-1.0-ogo039.i386.rpm) = 33b486fe59e5c6c78ccbe196eff4f1cd23486578d03961850836d25ff36c4a1c
SIZE (ogo/opengroupware-theme-kde-en-1.0-ogo039.i386.rpm) = 1707269
MD5 (ogo/opengroupware-theme-ooo-de-1.0-ogo039.i386.rpm) = 4691b3b6acd24622bec27b024bfe6b12
SHA256 (ogo/opengroupware-theme-ooo-de-1.0-ogo039.i386.rpm) = b295618354ee5520b094e535d748ac2d6ae893fb918289ce14b4bf807ddf2572
SIZE (ogo/opengroupware-theme-ooo-de-1.0-ogo039.i386.rpm) = 12613
MD5 (ogo/opengroupware-theme-ooo-en-1.0-ogo039.i386.rpm) = 0db3a53f2ea5ea90e1dda1f6c2bf7bef
SHA256 (ogo/opengroupware-theme-ooo-en-1.0-ogo039.i386.rpm) = cdfd393be56d2e340812592dc5cc7f342e2a04fc2acd56edea5cecfb9fe27a75
SIZE (ogo/opengroupware-theme-ooo-en-1.0-ogo039.i386.rpm) = 20518
MD5 (ogo/opengroupware-theme-orange-de-1.0-ogo039.i386.rpm) = c31c84492cacc1f6ddbd51cea8757739
SHA256 (ogo/opengroupware-theme-orange-de-1.0-ogo039.i386.rpm) = 78a2b88e4edb04542346373e07d35867a62dcb5e9df46b286911f17e7257421d
SIZE (ogo/opengroupware-theme-orange-de-1.0-ogo039.i386.rpm) = 365665
MD5 (ogo/opengroupware-theme-orange-en-1.0-ogo039.i386.rpm) = 16f5b55777aaee43a5d84a101c62ce5b
SHA256 (ogo/opengroupware-theme-orange-en-1.0-ogo039.i386.rpm) = a9d6c6fbd8d710bdd2cc4b72ad2d20074f02a80f965c016a0fa5c9540a673bba
SIZE (ogo/opengroupware-theme-orange-en-1.0-ogo039.i386.rpm) = 530937
MD5 (ogo/opengroupware-tools-account-1.0-ogo031.i386.rpm) = 92da43ed7e331556252ad9bbea87a844
SHA256 (ogo/opengroupware-tools-account-1.0-ogo031.i386.rpm) = 51423f7f3a690910eec160a9f131488d51389efd869ea176a2099d5a5b01d31e
SIZE (ogo/opengroupware-tools-account-1.0-ogo031.i386.rpm) = 16517
MD5 (ogo/opengroupware-tools-aptnotify-1.0-ogo031.i386.rpm) = 26e581add282b4d130cb922163d0ee0e
SHA256 (ogo/opengroupware-tools-aptnotify-1.0-ogo031.i386.rpm) = 9b53cf441b1f4d39186ade8754154de0fbe155453392c7f8119e4519796f417a
SIZE (ogo/opengroupware-tools-aptnotify-1.0-ogo031.i386.rpm) = 19776
MD5 (ogo/opengroupware-tools-bulkmessages-1.0-ogo031.i386.rpm) = 50c579750991d0d170a28522eff24137
SHA256 (ogo/opengroupware-tools-bulkmessages-1.0-ogo031.i386.rpm) = 5406523c4add05c3f56c5b2be3c404ead63869fe1c52972e81fe5b99a7629dc7
SIZE (ogo/opengroupware-tools-bulkmessages-1.0-ogo031.i386.rpm) = 10610
MD5 (ogo/opengroupware-tools-installsieve-1.0-ogo031.i386.rpm) = e0ae1b6da52cd389dc27f970c0c64ecf
SHA256 (ogo/opengroupware-tools-installsieve-1.0-ogo031.i386.rpm) = 3b09dd3265e402bc3ab3ae22a22a0649c67b6f17faf78050ee8f0f0a020c9961
SIZE (ogo/opengroupware-tools-installsieve-1.0-ogo031.i386.rpm) = 10496
MD5 (ogo/opengroupware-webui-admin-1.0-ogo032.i386.rpm) = c9677ec3a5dd11ae49fd690cd415817c
SHA256 (ogo/opengroupware-webui-admin-1.0-ogo032.i386.rpm) = a3b8f656fd564a1b293e217b590276171cb26ca4785437d047d109ab7c63c4c8
SIZE (ogo/opengroupware-webui-admin-1.0-ogo032.i386.rpm) = 52061
MD5 (ogo/opengroupware-webui-app-1.0-ogo054.i386.rpm) = 8b9bed41b2ef7f78c1a78892283f6b21
SHA256 (ogo/opengroupware-webui-app-1.0-ogo054.i386.rpm) = 6315072af92d4c53ee9306dc07c00adb64a0aba190a08ee6dd6f0235daa64579
SIZE (ogo/opengroupware-webui-app-1.0-ogo054.i386.rpm) = 56560
MD5 (ogo/opengroupware-webui-common-1.0-ogo087.i386.rpm) = 12a309903ce9a48d5c55219f24a6d180
SHA256 (ogo/opengroupware-webui-common-1.0-ogo087.i386.rpm) = 65315b3bd9b788d5a3b2b52b2d70a64b89d7e99b7a13316af0937ce464af573b
SIZE (ogo/opengroupware-webui-common-1.0-ogo087.i386.rpm) = 279870
MD5 (ogo/opengroupware-webui-contact-1.0-ogo072.i386.rpm) = 071e442b251fa248c5cdb3f24d75507b
SHA256 (ogo/opengroupware-webui-contact-1.0-ogo072.i386.rpm) = 3d3b78844e253c8199b4655dfde56adebc5a55985074551573fad1efe154a2d9
SIZE (ogo/opengroupware-webui-contact-1.0-ogo072.i386.rpm) = 258545
MD5 (ogo/opengroupware-webui-forms-1.0-ogo016.i386.rpm) = ee110794ec3caa7d9aeee00ccee259aa
SHA256 (ogo/opengroupware-webui-forms-1.0-ogo016.i386.rpm) = 18798b78fa94f3af3579376d2a01bfe5b9d6556ebc094ee679d8adbee1a65c1a
SIZE (ogo/opengroupware-webui-forms-1.0-ogo016.i386.rpm) = 37433
MD5 (ogo/opengroupware-webui-job-1.0-ogo037.i386.rpm) = 983042db48d685fda22a269d9cd733a5
SHA256 (ogo/opengroupware-webui-job-1.0-ogo037.i386.rpm) = bb34a14d6c818d1f8b5c932371c64b60fc4d1235798b48737ac80a99e75348d0
SIZE (ogo/opengroupware-webui-job-1.0-ogo037.i386.rpm) = 86383
MD5 (ogo/opengroupware-webui-libs-1.0-ogo059.i386.rpm) = a1627ce068d0c28ad8464224ab0a09fe
SHA256 (ogo/opengroupware-webui-libs-1.0-ogo059.i386.rpm) = c29f0e6e14e5f6c35f2203c05f27332c217f932522634c843ea2feed73ecd3c0
SIZE (ogo/opengroupware-webui-libs-1.0-ogo059.i386.rpm) = 104372
MD5 (ogo/opengroupware-webui-mailer-1.0-ogo077.i386.rpm) = 56e5d0d21a20e65a8a6075a12f653917
SHA256 (ogo/opengroupware-webui-mailer-1.0-ogo077.i386.rpm) = 4a5028aeccb72ec2c1898e93dfb513b19437346913b7f8318c5a6eb93daebbce
SIZE (ogo/opengroupware-webui-mailer-1.0-ogo077.i386.rpm) = 305531
MD5 (ogo/opengroupware-webui-news-1.0-ogo018.i386.rpm) = 1914ef503d185026f200edcf51b0222f
SHA256 (ogo/opengroupware-webui-news-1.0-ogo018.i386.rpm) = 8697eb1f787a85122f7ef95a7119593a7424d8639933f46469e3fc47c0f18f47
SIZE (ogo/opengroupware-webui-news-1.0-ogo018.i386.rpm) = 26803
MD5 (ogo/opengroupware-webui-prefs-1.0-ogo038.i386.rpm) = 41638fdb5147b4682db87035c9d11c80
SHA256 (ogo/opengroupware-webui-prefs-1.0-ogo038.i386.rpm) = e43b53857ed457d4ab5b597f7a0021994a3683311e1faac00a9ecd5a6daa236d
SIZE (ogo/opengroupware-webui-prefs-1.0-ogo038.i386.rpm) = 56961
MD5 (ogo/opengroupware-webui-project-1.0-ogo077.i386.rpm) = 7dddd355a0ec4075392091ced11710d4
SHA256 (ogo/opengroupware-webui-project-1.0-ogo077.i386.rpm) = 48dc686485aabe96aea57729acd2f84f96b939682c85149387305cc0a0584686
SIZE (ogo/opengroupware-webui-project-1.0-ogo077.i386.rpm) = 355377
MD5 (ogo/opengroupware-webui-resource-de-1.0-ogo132.i386.rpm) = 4d43b6b1d19d8559f84625755a731fcb
SHA256 (ogo/opengroupware-webui-resource-de-1.0-ogo132.i386.rpm) = 24f5f8d833af5dc0db85f95d4045bffb2b8a8aa21fe0dfab85b3c0ed9b23fdbf
SIZE (ogo/opengroupware-webui-resource-de-1.0-ogo132.i386.rpm) = 70798
MD5 (ogo/opengroupware-webui-resource-dk-1.0-ogo132.i386.rpm) = 28fe50fe1cd4745463d6f62cbc719d33
SHA256 (ogo/opengroupware-webui-resource-dk-1.0-ogo132.i386.rpm) = cd72a5c3b58b3d21918323ff0452f1a2a944cfe7073356a7c59cf93ccb189dc3
SIZE (ogo/opengroupware-webui-resource-dk-1.0-ogo132.i386.rpm) = 19546
MD5 (ogo/opengroupware-webui-resource-en-1.0-ogo132.i386.rpm) = 275beecb9deafcab64387a1bb48f0732
SHA256 (ogo/opengroupware-webui-resource-en-1.0-ogo132.i386.rpm) = 5bd3aa46efd6cc021e4cb56de87f90262641d428581388b93f48f30f982dc4a4
SIZE (ogo/opengroupware-webui-resource-en-1.0-ogo132.i386.rpm) = 61755
MD5 (ogo/opengroupware-webui-resource-es-1.0-ogo132.i386.rpm) = 09d813490afac8fa94fd5ef079facc92
SHA256 (ogo/opengroupware-webui-resource-es-1.0-ogo132.i386.rpm) = 98a9c4b70daebf86f0381826817612628c75e504de40358cfd27ff6bc4aa36ff
SIZE (ogo/opengroupware-webui-resource-es-1.0-ogo132.i386.rpm) = 63080
MD5 (ogo/opengroupware-webui-resource-fr-1.0-ogo132.i386.rpm) = 448d3906e747f3aa2cb3a682f40322e5
SHA256 (ogo/opengroupware-webui-resource-fr-1.0-ogo132.i386.rpm) = 6cb2eaf2e77a305d6bedd3dc493e879973d4c164f5b2e4b6a75e9a1c835ce0c2
SIZE (ogo/opengroupware-webui-resource-fr-1.0-ogo132.i386.rpm) = 66834
MD5 (ogo/opengroupware-webui-resource-it-1.0-ogo132.i386.rpm) = 2c9deeba36e50a347ac067472d05e64b
SHA256 (ogo/opengroupware-webui-resource-it-1.0-ogo132.i386.rpm) = 4a2f984f1c9413f237f146f4fead23bcd79ba6798e7e943f97f894775dec1399
SIZE (ogo/opengroupware-webui-resource-it-1.0-ogo132.i386.rpm) = 67048
MD5 (ogo/opengroupware-webui-resource-nl-1.0-ogo132.i386.rpm) = fbba49567db50d620360cfd3cfab1d6c
SHA256 (ogo/opengroupware-webui-resource-nl-1.0-ogo132.i386.rpm) = 9e57728e119b643c70bb6ed973f15ffc799f1920d6d0e88454a2c755a38502bf
SIZE (ogo/opengroupware-webui-resource-nl-1.0-ogo132.i386.rpm) = 52015
MD5 (ogo/opengroupware-webui-resource-pt_BR-1.0-ogo132.i386.rpm) = 7e8353a0697ee794f1504f45644e4abe
SHA256 (ogo/opengroupware-webui-resource-pt_BR-1.0-ogo132.i386.rpm) = ef2975dc7fc4ff870fc0d4d050089862acd1371a9fb7168135a6140186068e53
SIZE (ogo/opengroupware-webui-resource-pt_BR-1.0-ogo132.i386.rpm) = 65349
MD5 (ogo/opengroupware-webui-scheduler-1.0-ogo080.i386.rpm) = 4611082e1ddc193916ef92fe6234b779
SHA256 (ogo/opengroupware-webui-scheduler-1.0-ogo080.i386.rpm) = 91e7488e7794628ba474141a43422a928bded16b5a87c0f15863ced97bd66ba3
SIZE (ogo/opengroupware-webui-scheduler-1.0-ogo080.i386.rpm) = 370195
MD5 (ogo/opengroupware-xml-4.2-ogo066.i386.rpm) = 48918f0e7cc41baeda37256bd3063fc3
SHA256 (ogo/opengroupware-xml-4.2-ogo066.i386.rpm) = 27f1a6f85298a7e8775d847434234c72a6858f270a3c53c3c662446c7fa38104
SIZE (ogo/opengroupware-xml-4.2-ogo066.i386.rpm) = 2903506
MD5 (ogo/opengroupware-xml-STXSaxDriver-4.2-ogo066.i386.rpm) = a17883e8a05e8048a30a33fa79a973f6
SHA256 (ogo/opengroupware-xml-STXSaxDriver-4.2-ogo066.i386.rpm) = 4219f31e92e28f5d6c06a986e4d19eee4eb2c37a9d7d0978f7d0620b3e919298
SIZE (ogo/opengroupware-xml-STXSaxDriver-4.2-ogo066.i386.rpm) = 168044
MD5 (ogo/opengroupware-xml-icalsaxdriver-4.2-ogo066.i386.rpm) = e4d458b32b1762c78ebdd88c2b742858
SHA256 (ogo/opengroupware-xml-icalsaxdriver-4.2-ogo066.i386.rpm) = eec3ca9ad4c0f99c471cba395ca98bd4fb1fe8c7e47afabc65c04155cde0ada2
SIZE (ogo/opengroupware-xml-icalsaxdriver-4.2-ogo066.i386.rpm) = 87911
MD5 (ogo/opengroupware-xml-libxmlsaxdriver-4.2-ogo066.i386.rpm) = 895117c555bd31cff549689d5cdf5b19
SHA256 (ogo/opengroupware-xml-libxmlsaxdriver-4.2-ogo066.i386.rpm) = b97701ff417e7e89280bc00e724e93ccb3403a1fc756186d9a5559763f96fd89
SIZE (ogo/opengroupware-xml-libxmlsaxdriver-4.2-ogo066.i386.rpm) = 181512
MD5 (ogo/opengroupware-xmlrpcd-1.0-ogo049.i386.rpm) = 32e4b95ce432ff57371dcb4b06f2ef7b
SHA256 (ogo/opengroupware-xmlrpcd-1.0-ogo049.i386.rpm) = 67fa0904d3bf9c9d4d982cbce03516a42f64978c80fcd8aa5eeea1d97c7d4557
SIZE (ogo/opengroupware-xmlrpcd-1.0-ogo049.i386.rpm) = 115783
MD5 (ogo/opengroupware-zidestore-1.2-ogo082.i386.rpm) = 4ee9549c324146753c44f9cdfc5c9c33
SHA256 (ogo/opengroupware-zidestore-1.2-ogo082.i386.rpm) = fc9c767d3596555110876b37bc3b31b5ab6a6ea09e6519594ef3f6b5bfed630d
SIZE (ogo/opengroupware-zidestore-1.2-ogo082.i386.rpm) = 463802
MD5 (ogo/opengroupware.org-mod_ngobjweb-200407092000.tar.gz) = 54bff488e163f93fe5820055a6c746c9
SHA256 (ogo/opengroupware.org-mod_ngobjweb-200407092000.tar.gz) = 640cf0dfe247147a496148a9cdf6cce0572797f01119330159f69ae97ab42c57
SIZE (ogo/opengroupware.org-mod_ngobjweb-200407092000.tar.gz) = 24113
MD5 (ogo/postgresql-libs-7.2.4-5.80.i386.rpm) = ef7265999840169355faa8e1154d589c
SHA256 (ogo/postgresql-libs-7.2.4-5.80.i386.rpm) = 8836c1eb606a8092b8761c767064c4910eb64e30bdf1d0f8e7e637b12ffbe8f6
SIZE (ogo/postgresql-libs-7.2.4-5.80.i386.rpm) = 556608
MD5 (ogo/openssl-0.9.6b-35.8.i386.rpm) = b55dd770fb47b8f15c5c90e8e71b6f84
SHA256 (ogo/openssl-0.9.6b-35.8.i386.rpm) = ee68e65101f6de8368e8ddc478b44725eaa339b1b9f6a286da1bb5c6e8476a48
SIZE (ogo/openssl-0.9.6b-35.8.i386.rpm) = 1379193
MD5 (ogo/cyrus-sasl-2.1.10-1.i386.rpm) = 0bf0d5b2e17a26e06f1b9e2cd02fdae3
SHA256 (ogo/cyrus-sasl-2.1.10-1.i386.rpm) = 84599a3ac21e60987b5e5faa0b90d609b72d4ac2960b0d96a92493971bc141b4
SIZE (ogo/cyrus-sasl-2.1.10-1.i386.rpm) = 201473
MD5 (ogo/openldap-2.0.27-2.8.0.i386.rpm) = f6ffab19ae521c65396cc76d0a64c2c9
SHA256 (ogo/openldap-2.0.27-2.8.0.i386.rpm) = 753bf837b11060bc3d5f00dc0fef143e59b168e87f3d68b3024962a3b1424bbc
SIZE (ogo/openldap-2.0.27-2.8.0.i386.rpm) = 422193
MD5 (ogo/pam-0.75-46.8.0.i386.rpm) = 25ebcb39f56c98cc064c34b2d048ed35
SHA256 (ogo/pam-0.75-46.8.0.i386.rpm) = 5fbd26eefca55f0903a70cd1eb3d417c43107efa5c61545c08396996fd045f64
SIZE (ogo/pam-0.75-46.8.0.i386.rpm) = 925587
MD5 (ogo/krb5-libs-1.2.5-15.i386.rpm) = 9e36f2192f29e5e4c162cf1af0ee4f79
SHA256 (ogo/krb5-libs-1.2.5-15.i386.rpm) = 2d7e93b1c8fd212a8e659901afad15716b280fd8e9329b9c445f1f2e3b2646c1
SIZE (ogo/krb5-libs-1.2.5-15.i386.rpm) = 558413

View File

@@ -1,176 +0,0 @@
GENERAL NOTE:
=============
You're welcome to ask questions about OpenGroupware
at
http://www.opengroupware.org
too. :p Don't hesitate.
Beside the FAQ are several mailinglists and ofcourse
our mailinglist archive as first aid kit.
INSTALLATION WALKTHROUGH:
=========================
1) First of all - you must have linux compat mode
activated.
Refer to:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu.html
on how to do this.
In short.... my rc.conf contains:
linux_enable="YES"
and I recompiled my kernel with the following options:
# Enable Linux ABI emulation
options COMPAT_LINUX
# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
# and PSEUDOFS)
options LINPROCFS
(kernel compilation is further described in:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html)
You also want to add the following line into your /etc/fstab:
linproc /compat/linux/proc linprocfs rw 0 0
(If you don't have linproc mounted - OGo will teach you and coredump :P - so check twice)
2) Make sure, that your PostgreSQL Installation
listens on TCP Port 5432!
You might want to read /usr/local/pgsql/post-install-notes
before proceeding here. If absolutely nothing happens - you most likely
forgot to initdb postgres itself :) (applies to clean, clear and naked installs only)
Typing (as root)
`netstat -an -p tcp|grep -i 5432`
should show you if it is.
The output might look like:
[frank@minax]/usr/local/pgsql/data: netstat -an -p tcp|grep -i 5432
tcp4 0 0 *.5432 *.* LISTEN
(Hoping that it is really PostgreSQL showing up there :))
`lsof -Pni|grep -i 5432`
should give you better results since it gives an output like this:
[frank@minax]/usr/local/pgsql/data: lsof -Pni|grep -i 5432
postgres 411 pgsql 3u IPv4 0xc428cca8 0t0 TCP *:5432 (LISTEN)
If there's no output at all (ie. nothing similiar to what you've just seen)
then you must reconfigure PostgreSQL.
To do so edit:
'/usr/local/pgsql/data/postgresql.conf'
and make sure that there's the following line activated:
tcpip_socket = true
After applying this modification save and exit 'postgresql.conf'.
Now restart PostgreSQL (there should be a start/stop script in your
local_startup dir:
`/usr/local/etc/rc.d/010.pgsql.sh stop`
`/usr/local/etc/rc.d/010.pgsql.sh start`
Voila!
3) If your apache2 doesn't want to start at all - after a successfully
installation - make sure that you have:
apache2_enable="YES"
set in your /etc/rc.conf
Add an include statement into your current apache configuration,
typically located in:
'/usr/local/etc/apache/httpd.conf'
Edit this file and add the following line:
'include /compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude'
(best place to add this might depend on your individual configuration, in my
configuration I simply added this line at the very end of my httpd.conf)
Restart apache to activate the changes just made.
`/usr/local/etc/rc.d/apache.sh stop`
`/usr/local/etc/rc.d/apache.sh start`
4) Add a postgresql User/Database for OpenGroupware:
`su - pgsql`
`createdb ogo`
`createuser -A -D ogo`
Install the database scheme:
`psql ogo ogo`
a shell like environment appears know... type there:
\i /compat/linux/opt/opengroupware.org/Database/PostgreSQL/pg-build-schema.psql
...and the basic database scheme gets installed.
There's also a scheme with constraints in the same directory.
It's safe to add this one too:
\i /compat/linux/opt/opengroupware.org/Database/PostgreSQL/pg-build-schema.psql.constraints
Leave this shell with
\q
and CTRL-D back into your `root` account.
5) Restart PostgreSQL again.
6) Start OpenGroupware:
Copy /usr/local/etc.rc.d/ogo.sh.sample to ogo.sh and zidestore.sh.sample too.
Now edit both these files and find:
"./WOApps/ZideStore.woa/ix86/linux-gnu/gnu-fd-nil/ZideStore -WOHttpAllowHost '(localhost, you.yourdomain.org)'>>${LOG} 2>&1 &" in it.
Next, you have to modifie you.yourdomain.org to reflect your configuration.
After you have modified these files, just do a
`/usr/local/etc/rc.d/ogo.sh. start`
`/usr/local/etc/rc.d/zidetore.sh. start`
7) There are some other startscripts in /usr/local/etc/rc.d too:
nhsd.sh.sample - Network Hotsync (tm) Daemon
useful if you want to use PALM [tm] Sync
xmlrpcd.sh.sample - XML-RPC Daemon
as the name says - an XMLRPC daemon
zidestore.sh.sample - the famous ZideStore daemon
necessary if you want to use thirdparty
applications in conjunction with OGo.
(Evolution, Mozilla, Apple iCal.app,
KOrganizer, generic WebDAV clients ...)
NOW POINT YOUR BROWSER TO:
http://<host.where.you.installed.tld>/OpenGroupware/
and enjoy! :)

View File

@@ -1,2 +0,0 @@
export FORCED_USER_ROOT=/compat/linux/opt/opengroupware.org
source /compat/linux/opt/skyrix/system/Makefiles/GNUstep.sh

View File

@@ -1,162 +0,0 @@
{
"absence_mode" = withAbsence;
"address_blocksize" = 50;
"enterprise_sub_view" = attributes;
"formletter_kind" = winword;
"job_blocksize" = 50;
"job_no_of_cols" = 3;
"job_view" = jobHistoryList;
"joblist_view" = toDoList;
"mail_editor_type" = internal;
"mail_nextMesgAfterDelete" = 1;
"mail_printviewer_headers" = (
subject,
from,
to,
cc,
date
);
"mail_send_type" = plain;
"mail_showUnreadMesgAsNext" = 1;
"mail_show_all_unread_links" = 0;
"mail_show_target_folder" = 1;
"mail_viewAttachmentBodysInEditor" = 0;
"mail_viewAttachmentsInline" = 1;
"mail_viewImagesInline" = 1;
"mail_viewStatus" = 0;
"news_blocksize" = 30;
"news_filterDays" = 7;
"news_showNewsOnTop" = 0;
"persons_sub_view" = attributes;
"projects_blocksize" = 50;
"projects_no_of_cols" = 3;
"rootAccessformletter_kind" = 1;
"rootAccessmail_editor_type" = 1;
"rootAccessmail_send_type" = 1;
"rootAccessmail_viewAttachmentsInline" = 1;
"rootAccessmail_viewImagesInline" = 1;
"rootAccessscheduler_end_hour" = 1;
"rootAccessscheduler_start_hour" = 1;
"rootAccessscheduler_time_input_type" = 1;
"rootAccessscheduler_view" = 1;
"scheduler_additional_popup_entries" = 20;
"scheduler_appointment_view" = attributes;
"scheduler_custom_everyyear_holidays" = {};
"scheduler_custom_holidays" = {};
"scheduler_daychart_columnsperday" = 24;
"scheduler_dayoverview_dayend" = 1080;
"scheduler_dayoverview_daystart" = 480;
"scheduler_dayoverview_timeinterval" = 3600;
"scheduler_end_hour" = 12;
"scheduler_mail_template_date_format" = "%Y-%m-%d";
"scheduler_no_of_cols" = 2;
"scheduler_overview_short_info" = 1;
"scheduler_overview_with_resources" = 1;
"scheduler_popup_persons" = (
);
"scheduler_popup_resourceNames" = (
);
"scheduler_popup_teams" = (
);
"scheduler_show_holiday_christmasEve" = 1;
"scheduler_show_holiday_deathsSunday" = 0;
"scheduler_show_holiday_holidaygroup_advent" = 0;
"scheduler_show_holiday_holidaygroup_bay" = 0;
"scheduler_show_holiday_holidaygroup_ber" = 0;
"scheduler_show_holiday_holidaygroup_bra" = 0;
"scheduler_show_holiday_holidaygroup_bre" = 0;
"scheduler_show_holiday_holidaygroup_bwb" = 0;
"scheduler_show_holiday_holidaygroup_bylaw" = 1;
"scheduler_show_holiday_holidaygroup_custom_all" = 1;
"scheduler_show_holiday_holidaygroup_custom_private" = 1;
"scheduler_show_holiday_holidaygroup_hes" = 0;
"scheduler_show_holiday_holidaygroup_hh" = 0;
"scheduler_show_holiday_holidaygroup_mvp" = 0;
"scheduler_show_holiday_holidaygroup_nrw" = 0;
"scheduler_show_holiday_holidaygroup_nsa" = 0;
"scheduler_show_holiday_holidaygroup_rpf" = 0;
"scheduler_show_holiday_holidaygroup_saa" = 0;
"scheduler_show_holiday_holidaygroup_sac" = 0;
"scheduler_show_holiday_holidaygroup_sah" = 1;
"scheduler_show_holiday_holidaygroup_slh" = 0;
"scheduler_show_holiday_holidaygroup_thu" = 0;
"scheduler_show_holiday_mothersDay" = 0;
"scheduler_show_holiday_newYearsEve" = 1;
"scheduler_show_holiday_shrovetide" = 0;
"scheduler_show_holiday_summertimeChange" = 1;
"scheduler_show_holiday_wintertimeChange" = 1;
"scheduler_start_hour" = 11;
"scheduler_time_input_type" = PopUp;
"scheduler_view" = overview;
"scheduler_weekchart_columnsperday" = 24;
"scheduler_write_access_accounts" = (
);
"scheduler_write_access_teams" = (
);
"skyp4_desktop_tab" = favorites;
"skyp4_projectviewer_tab" = attributes;
"usermanager_blocksize" = 30;
ImapSentFolderName = "sent-mail";
JobPreferredExecutantsEnabled = YES;
JobReferredPersonEnabled = YES;
LSPageRefreshOnBacktrack = YES;
LSPluginEnabledUserAgents = (
"Mozilla/4.0 (compatible; MSIE"
);
LSPluginViewerEnabled = YES;
ServerSideSortingDisabled = NO;
ShowOnlySubscribedInRoot = YES;
ShowOnlySubscribedInSubFolders = YES;
ShowVacationPanel = YES;
SkyButtonRowDefaultButtonsLeft = 0;
SkyButtonRowHideInactiveButtons = 1;
SkyButtonTextMode = 0;
SkyDockShowBookmarks = 1;
SkyDockShowDesktop = 1;
SkyDockTextMode = 0;
SkyDockablePagesOrdering = (
UserManager,
News,
Scheduler2,
ResourceScheduler,
Persons,
Enterprises,
Projects,
Jobs,
Imap,
PalmSync
);
SkyLanguages = (
English_OOo,
German_OOo,
English_blue,
German_blue,
English_orange,
German_orange,
English_kde
);
SkyMaxFavoritesCount = 5;
SkyMaxNavLabelLength = 32;
UseSkyrixLoginForImap = NO;
WOCachingEnabled = YES;
WOContactSNS = NO;
WODebuggingEnabled = YES;
WODefaultSessionTimeout = 1200;
WOResourcePrefix = "";
WOUseWatchDog = NO;
language = "English";
popupIfNewMails = 1;
rootAccessSkyDockShowBookmarks = 1;
rootAccessSkyDockShowDesktop = 1;
rootAccessSkyDockablePagesOrdering = 1;
rootAccesslanguage = 1;
rootAccesstimezone = 1;
timezone = MET;
OGoMinimumActiveSessionCount = 0;
ImapDebugEnabled = NO;
}

View File

@@ -1,8 +0,0 @@
{
SxExplain = NO;
WOCachingEnabled = YES;
WOHttpTransactionUseSimpleParser = YES;
WOPort = "localhost:20001";
ZLFolderRefresh = 1;
ZLShowGroupOverviewCalendars = YES;
}

View File

@@ -1,56 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
NHSD_BIN='/compat/linux/opt/opengroupware.org/Tools/ix86/linux-gnu/gnu-fd-nil/nhsd'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/nhsd.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No NHSD logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${NHSD_BIN} ] && {
su -l ${OGO_USER} -c \
"./Tools/ix86/linux-gnu/gnu-fd-nil/nhsd >>${LOG} 2>&1 &"
echo 'Network Hotsync [tm] daemon started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 nhsd >/dev/null 2>&1
killall -9 nhsd >/dev/null 2>&1
echo 'Network Hotsync [TM] daemon stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/nhsd'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@@ -1,57 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
OGO_BIN='/compat/linux/opt/opengroupware.org/WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/ogo.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No OGo logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${OGO_BIN} ] && {
su -l ${OGO_USER} -c \
# the next line must be comment out and modified to reflect your configuration in order to start OpenGroupware
# "./WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware -WOHttpAllowHost '(localhost, you.yourdomain.org)' >>${LOG} 2>&1 &"
echo 'OpenGroupware started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 OpenGroupware >/dev/null 2>&1
killall -9 OpenGroupware >/dev/null 2>&1
echo 'OpenGroupware stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/OpenGroupware'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@@ -1,11 +0,0 @@
--- opengroupware.org-mod_ngobjweb.dist/GNUmakefile Tue Jul 15 14:39:08 2003
+++ opengroupware.org-mod_ngobjweb/GNUmakefile Sat Oct 11 20:32:42 2003
@@ -4,7 +4,7 @@
# config
-APACHE = /usr
+APACHE = /usr/local
APXS = $(APACHE)/sbin/apxs
HTTPD = $(APACHE)/sbin/httpd

View File

@@ -1,29 +0,0 @@
--- opt/skyrix/system/Makefiles/GNUstep.sh.dist Wed Jul 23 20:26:13 2003
+++ opt/skyrix/system/Makefiles/GNUstep.sh Wed Jul 23 20:27:27 2003
@@ -27,13 +27,13 @@
#
# Set the GNUstep system root and local root
#
-GNUSTEP_ROOT=/opt/skyrix/system
+GNUSTEP_ROOT=/compat/linux/opt/skyrix/system
if [ -z "$FORCED_USER_ROOT" ]; then
FORCED_USER_ROOT=
fi
-GNUSTEP_SYSTEM_ROOT=/opt/skyrix/system
+GNUSTEP_SYSTEM_ROOT=/compat/linux/opt/skyrix/system
GNUSTEP_FLATTENED=
if [ -z "$LIBRARY_COMBO" ]; then
LIBRARY_COMBO=gnu-fd-nil
@@ -43,8 +43,8 @@
GNUSTEP_MAKEFILES=$GNUSTEP_SYSTEM_ROOT/Makefiles
export GNUSTEP_MAKEFILES
-GNUSTEP_LOCAL_ROOT=/opt/skyrix/system
-GNUSTEP_NETWORK_ROOT=/opt/skyrix/system
+GNUSTEP_LOCAL_ROOT=/compat/linux/opt/skyrix/system
+GNUSTEP_NETWORK_ROOT=/compat/linux/opt/skyrix/system
export GNUSTEP_LOCAL_ROOT GNUSTEP_NETWORK_ROOT
# test to see if GNUSTEP_ROOT is in Win32 standard form and flag it

View File

@@ -1,11 +0,0 @@
--- opt/opengroupware.org/.bash_profile.orig Tue Apr 27 11:56:09 2004
+++ opt/opengroupware.org/.bash_profile Sun Jul 18 22:24:31 2004
@@ -5,7 +5,7 @@
#remove the comment in front of the next line if you're on RedHat9/FC1/FC2
#and if you are running SUSE9.1
#export LD_ASSUME_KERNEL=2.4.1
-source /opt/opengroupware.org/OpenGroupware.org.sh
+source /compat/linux/opt/opengroupware.org/OpenGroupware.org.sh
export SASL_PATH="${GNUSTEP_USER_ROOT}/Library/Plugins/Plain.plugin/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
export PYTHONPATH=${GNUSTEP_USER_ROOT}/Tools
export PILOTPORT="net:any:14238"

View File

@@ -1,7 +0,0 @@
{
AptNotifyBeVerbose = NO;
AptNotifyFromAddress = "ogo@localhost";
AptNotifySentResourcesFile = "/var/log/opengroupware/OGosent-resources";
AptNotifySkyrixPassword = "";
AptNotifySkyrixUser = root;
}

View File

@@ -1,4 +0,0 @@
{
LSMaxSearchCount = 1000;
WOPort = "localhost:20000";
}

View File

@@ -1,56 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
XMLRPCD_BIN='/compat/linux/opt/opengroupware.org/Tools/ix86/linux-gnu/gnu-fd-nil/xmlrpcd'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/xmlrpcd.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No XMLRPCD logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${XMLRPCD_BIN} ] && {
su -l ${OGO_USER} -c \
"./Tools/ix86/linux-gnu/gnu-fd-nil/xmlrpcd >>${LOG} 2>&1 &"
echo 'XMLRPCD started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 xmlrpcd >/dev/null 2>&1
killall -9 xmlrpcd >/dev/null 2>&1
echo 'XMLRPCD stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/xmlrpcd'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@@ -1,57 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
ZIDE_BIN='/compat/linux/opt/opengroupware.org/WOApps/ZideStore.woa/ix86/linux-gnu/gnu-fd-nil/ZideStore'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/zidestore.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No ZideStore logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${ZIDE_BIN} ] && {
su -l ${OGO_USER} -c \
#the next line must be comment out and modified to reflect your configuration in order to start OpenGroupware
# "./WOApps/ZideStore.woa/ix86/linux-gnu/gnu-fd-nil/ZideStore -WOHttpAllowHost '(localhost, you.yourdomain.org)'>>${LOG} 2>&1 &"
echo 'ZideStore started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 ZideStore >/dev/null 2>&1
killall -9 ZideStore >/dev/null 2>&1
echo 'ZideStore stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/ZideStore'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@@ -1,8 +0,0 @@
Mission: To create, as a community, the leading open source groupware server
to integrate with the leading open source office suite products and all the
leading groupware clients running across all major platforms, and to provide
access to all functionality and data through open XML-based interfaces and APIs.
WWW: http://www.opengroupware.org
Frank Reppin <frank.reppin@boerde.de>

View File

@@ -1,120 +0,0 @@
#!/bin/sh
#$Id: pkg-install,v 1.2 2003/09/13 14:59:44 frank Exp $
# Frank Reppin
# $FreeBSD$
case $2 in
POST-INSTALL)
OGO_USER='ogo'
OGO_GROUP='skyrix'
OGO_HOME='/compat/linux/opt/opengroupware.org'
OGO_DST='/compat/linux/opt'
OGO_DESCR='OpenGroupware'
OGO_SHELL='/usr/local/bin/bash'
echo "######################################################################################"
echo "Creating neccessary user/group"
if pw group show "${OGO_GROUP}" 2>/dev/null; then
echo "Found existing group \"${OGO_GROUP}\", nothing to be done for me here."
else
if pw group add ${OGO_GROUP}; then
echo "Successfully added group: \"${OGO_GROUP}\"."
else
echo "pw group add ${OGO_GROUP} failed :/."
exit 1
fi
fi
if pw user show "${OGO_USER}" 2>/dev/null; then
echo "Found existing user \"${OGO_USER}\", nothing to be done for me here."
else
if pw user add ${OGO_USER} -g ${OGO_GROUP} -c ${OGO_DESCR} -d ${OGO_HOME} -s ${OGO_SHELL}; then
echo "Successfully added user: \"${OGO_USER}\"."
else
echo "pw user add ${OGO_USER} failed :/."
exit 1
fi
fi
echo "######################################################################################"
;;
WRITE-DEFAULTS-FIRSTTIME)
OGO='ogo'
OGO_GROUP='skyrix'
SU='/usr/bin/su'
ME=`hostname`
DW='Defaults write'
DR='Defaults read'
#just to be sure I am already there... weird issue if not
mkdir -p /compat/linux/opt/opengroupware.org/.libFoundation/Defaults
chown -Rh ${OGO}:${OGO_GROUP} /compat/linux/opt/opengroupware.org/.libFoundation
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/NSGlobalDomain.plist ] 2>/dev/null; then
echo "There seems to be no previous OGo installation..."
echo "going to write \`Defaults\` to .libFoundation/Defaults/NSGlobalDomain.plist"
${SU} -l ${OGO} -c "${DW} NSGlobalDomain skyrix_id ${ME}" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSAdaptor PostgreSQL72" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSModelName OpenGroupware.org_PostgreSQL" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSMaxSearchCount 500" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSConnectionDictionary '{hostName=localhost; userName=ogo; password=\"\"; port=5432; databaseName=ogo}'" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSAttachmentPath \"/compat/linux/opt/opengroupware.org/documents\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSNewsImagesPath \"/compat/linux/opt/opengroupware.org/news\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSNewsImagesUrl \"/ArticleImages\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain NGBundlePath \"/compat/linux/opt/opengroupware.org/Library/OpenGroupware.org\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain XMLReader libxmlSAXDriver" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain WOPort localhost:19999" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain TimeZoneName GMT" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain Languages '{English}'" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSTimeZones '(GMT, MET, PST, CET, EET, EST, HST, MST, NZ, \"GMT+0100\", \"GMT+0200\", \"GMT+0300\", \"GMT+0400\", \"GMT+0500\", \"GMT+0600\", \"GMT+0700\", \"GMT+0800\", \"GMT+0900\", \"GMT+1000\", \"GMT+1100\", \"GMT+1200\", \"GMT-0100\", \"GMT-0200\", \"GMT-0300\", \"GMT-0400\", \"GMT-0500\", \"GMT-0600\", \"GMT-0700\", \"GMT-0800\", \"GMT-0900\", \"GMT-1000\", \"GMT-1100\", \"GMT-1200\")'" >/dev/null 2>&1
echo "done."
else
echo "I think you've already installed OGo before..."
echo "Thus i am kind and don't mess your settings :)"
fi
;;
COPY-TEMPLATES)
INSTALL='/usr/bin/install'
OGO_USER='ogo'
OGO_GROUP='skyrix'
#just to be sure I am already there... weird issue if not
mkdir -p /compat/linux/opt/opengroupware.org/.libFoundation/Defaults
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/OpenGroupware.plist ] 2>/dev/null; then
echo "OpenGroupware.plist not found..."
echo "thus I am using the one coming with the port."
${INSTALL} -m 640 -o ${OGO_USER} -g ${OGO_GROUP} files/OpenGroupware.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/OpenGroupware.plist >/dev/null 2>&1
else
echo "OpenGroupware.plist is already in place!"
fi
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/ZideStore.plist ] 2>/dev/null; then
echo "ZideStore.plist not found..."
echo "thus I am using the one coming with the port."
${INSTALL} -m 640 -o ${OGO_USER} -g ${OGO_GROUP} files/ZideStore.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/ZideStore.plist >/dev/null 2>&1
else
echo "ZideStore.plist is already in place!"
fi
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/xmlrpcd.plist ] 2>/dev/null; then
echo "xmlrpcd.plist not found..."
echo "thus I am using the one coming with the port."
${INSTALL} -m 640 -o ${OGO_USER} -g ${OGO_GROUP} files/xmlrpcd.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/xmlrpcd.plist >/dev/null 2>&1
else
echo "xmlrpcd.plist is already in place!"
fi
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/skyaptnotify.plist ] 2>/dev/null; then
echo "skyaptnotify.plist not found..."
echo "thus I am using the one coming with the port."
${INSTALL} -m 640 -o ${OGO_USER} -g ${OGO_GROUP} files/skyaptnotify.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/skyaptnotify.plist >/dev/null 2>&1
else
echo "skyaptnotify.plist is already in place!"
fi
;;
esac

View File

@@ -1,22 +0,0 @@
===> NOTE!
You've just installed linux-opengroupware!
Thankyou!
There are some additional steps to
do now:
1) Make sure that your PostgreSQL Installation
listens on TCP Port 5432.
2) Install the ogo database scheme for PostgreSQL.
3) manually add one line into your httpd.conf
For a complete and detailed walkthrough refer to
the INSTALL.fbsd in:
/compat/linux/opt/opengroupware.org
Enjoy using OpenGroupware.org!

View File

@@ -1,78 +0,0 @@
#!/usr/bin/perl -w
#
# by Frank Reppin <frank.reppin@boerde.de>
#
use strict;
my $current_apache_version = `/usr/local/sbin/httpd -v|head -1`;
my @version = split / /, $current_apache_version;
my $version;
my $runs_with;
$version = $version[2];
$version =~ s/^Apache\///g;
chomp $version;
if ( ! -e '/compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude' ) {
print "OpenGroupware.org.apacheinclude is not present! I'll deal with this issue!\n";
open (AI, "> /compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude") || die "Arrr! This won't work, because: $!\n";
print AI "# This loads the mod_ngobjweb module which is the binding part between\n";
print AI "# the Apache web server and the OGo application.\n";
print AI "#\n";
print AI "LoadModule ngobjweb_module\t/compat/linux/opt/opengroupware.org/ngobjweb_$version.so\n";
print AI "\n";
print AI "<LocationMatch \"^/OpenGroupware*\">\n";
print AI "\tSetHandler ngobjweb-adaptor\n";
print AI "\tSetAppPort 19999\n";
print AI "</LocationMatch>\n";
print AI "\n";
print AI "<LocationMatch \"^/evolution*\">\n";
print AI "\tSetHandler ngobjweb-adaptor\n";
print AI "\tSetAppPort 20001\n";
print AI "</LocationMatch>\n";
print AI "\n";
print AI "<LocationMatch \"^/zidestore/*\">\n";
print AI "\tSetHandler ngobjweb-adaptor\n";
print AI "\tSetAppPort 20001\n";
print AI "</LocationMatch>\n";
print AI "\n";
print AI "Alias /OpenGroupware.woa/WebServerResources/ \"/compat/linux/opt/opengroupware.org/WebServerResources/\"\n";
print AI "<Directory \"/compat/linux/opt/opengroupware.org/WebServerResources/\">\n";
print AI "\tOptions Indexes Multiviews\n";
print AI "\tAllowOverride None\n";
print AI "\tOrder allow,deny\n";
print AI "\tAllow from all\n";
print AI "</Directory>\n";
print AI "Alias /ArticleImages \"/compat/linux/opt/opengroupware.org/news\"\n";
close(AI);
} else {
print "\n";
print "OpenGroupware.org.apacheinclude is already present and will not be changed!\n";
open(OI, "/compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude");
while(<OI>) {
if (/ngobjweb_\d+.*\.so$/) {
$runs_with = $&;
$runs_with =~ s/^ngobjweb_//g;
$runs_with =~ s/\.so$//g;
}
}
close(OI);
if ( $runs_with eq $version ) {
print "The OpenGroupware.org.apacheinclude seems to be fine.\n";
print "It's configured for Apache $runs_with and we have Apache $version\n";
} else {
print "\n";
print "But! Chances are, that your OpenGroupware.org.apacheinclude is broken.\n";
print "This isn't necessarily an error - as it might be a result of a special\n";
print "configuration you're using.\n";
print "It's also very likely that you've updated your Apache from ports in between.\n";
print "\n";
print "Here are the results:\n";
print "-------------------------\n";
print "OpenGroupware.org.apacheinclude is configured to use Apache $runs_with\n";
print "The version string of your Apache binary indicates that you run $version\n";
print "Please verify this setting manually and - if needed - update your\n";
print "OpenGroupware.org.apacheinclude to reflect the recent changes made to your system.\n";
}
}

View File

@@ -368,7 +368,6 @@
SUBDIR += openam
SUBDIR += openbgpd
SUBDIR += openbgpd-devel
SUBDIR += opengk
SUBDIR += openh323
SUBDIR += openh323-112
SUBDIR += openldap22-client

View File

@@ -1,41 +0,0 @@
# New ports collection makefile for: opengk
# Date created: Mon Oct 8 12:49:00 BST 2001
# Whom: Roger Hardiman <roger@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= opengk
PORTVERSION= 1.3.3
PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= http://www.openh323.org/bin/ \
http://www.de.openh323.org/bin/ \
http://www.ru.openh323.org/bin/
DISTNAME= opengk_${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Equivalence's H323 GateKeeper for OpenH323 OhPhone and NetMeeting
BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/net/openh323-112:build
BROKEN= Incomplete dependency list
DEPRECATED= Latest version is from 2003-02-03. Use net/gatekeeper instead
EXPIRATION_DATE= 2006-07-01
WRKSRC= ${WRKDIR}/${PORTNAME}
NOCLEANDEPENDS= yes
PLIST_FILES= bin/opengk
USE_GMAKE= yes
ALL_TARGET= optnoshared
MAKE_ENV= PWLIBDIR=${WRKDIRPREFIX}${.CURDIR}/../../devel/pwlib152/work/pwlib \
OPENH323DIR=${WRKDIRPREFIX}${.CURDIR}/../openh323-112/work/openh323
THE_MACHTYPE= ${ARCH:S/i386/x86/}
MAKE_ARGS= OSTYPE=${OPSYS} MACHTYPE=${THE_MACHTYPE} OSRELEASE=${OSVERSION} CPLUS=${CXX}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/obj_${OPSYS}_${THE_MACHTYPE}_r/opengk ${PREFIX}/bin
.include <bsd.port.mk>

View File

@@ -1,3 +0,0 @@
MD5 (opengk_1.3.3.tar.gz) = 0684a87cdb47b61b06694c26a4766ca2
SHA256 (opengk_1.3.3.tar.gz) = 9496b55df00a57fce8571c2b97bce420b4cf932b0186377cd48e466b9012d82c
SIZE (opengk_1.3.3.tar.gz) = 25411

View File

@@ -1,13 +0,0 @@
OpenGatekeeper is a H323 GateKeeper based on the OpenH323 project.
It is written by Equivalence, who also write the OpenH323 library
A H323 Gatekeeper manages multiple H323 clients on a network
and provides a nice user name to IP mapping.
As it follows the H323 standard, it is compatible with H323
client programs including OhPhone, OpenPhone and MS NetMeeting.
It makes use of PWLib and the OpenH323 stack from Equivalence Ltd Pty
For more information see
WWW: http://www.openh323.org/

View File

@@ -351,7 +351,6 @@
SUBDIR += p5-Crypt-NULL
SUBDIR += p5-Crypt-OFB
SUBDIR += p5-Crypt-OTP
SUBDIR += p5-Crypt-OpenPGP
SUBDIR += p5-Crypt-OpenSSL-Bignum
SUBDIR += p5-Crypt-OpenSSL-DSA
SUBDIR += p5-Crypt-OpenSSL-RSA

View File

@@ -1,65 +0,0 @@
# New ports collection makefile for: p5-Crypt-OpenPGP
# Date created: Tue Sep 11 02:08:49 PDT 2001
# Whom: Michael Haro <mharo@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= Crypt-OpenPGP
PORTVERSION= 1.03
CATEGORIES= security perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= Crypt
PKGNAMEPREFIX= p5-
MAINTAINER= erwin@FreeBSD.org
COMMENT= Pure-Perl OpenPGP-compatible PGP implementation
BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Crypt/DES.pm:${PORTSDIR}/security/p5-Crypt-DES \
${SITE_PERL}/${PERL_ARCH}/Crypt/Blowfish.pm:${PORTSDIR}/security/p5-Crypt-Blowfish \
${SITE_PERL}/${PERL_ARCH}/Crypt/IDEA.pm:${PORTSDIR}/security/p5-Crypt-IDEA \
${SITE_PERL}/Crypt/DSA.pm:${PORTSDIR}/security/p5-Crypt-DSA \
${SITE_PERL}/Crypt/RSA.pm:${PORTSDIR}/security/p5-Crypt-RSA \
${SITE_PERL}/${PERL_ARCH}/Crypt/RIPEMD160.pm:${PORTSDIR}/security/p5-Crypt-RIPEMD160 \
${SITE_PERL}/${PERL_ARCH}/Crypt/Rijndael.pm:${PORTSDIR}/security/p5-Crypt-Rijndael \
${SITE_PERL}/Crypt/CAST5_PP.pm:${PORTSDIR}/security/p5-Crypt-CAST5_PP \
${SITE_PERL}/Crypt/DES_EDE3.pm:${PORTSDIR}/security/p5-Crypt-DES_EDE3 \
${SITE_PERL}/${PERL_ARCH}/Digest/SHA1.pm:${PORTSDIR}/security/p5-Digest-SHA1 \
${SITE_PERL}/${PERL_ARCH}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-Compress-Zlib \
${SITE_PERL}/${PERL_ARCH}/Math/Pari.pm:${PORTSDIR}/math/p5-Math-Pari \
${SITE_PERL}/Data/Buffer.pm:${PORTSDIR}/misc/p5-Data-Buffer \
${SITE_PERL}/URI/Escape.pm:${PORTSDIR}/net/p5-URI \
${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww
RUN_DEPENDS= ${BUILD_DEPENDS}
DEPRECATED= Crypt-OpenPGP was abandoned in 2002, use security/gnupg instead
EXPIRATION_DATE=2006-07-01
PERL_CONFIGURE= yes
MAN3= Crypt::OpenPGP::ErrorHandler.3 Crypt::OpenPGP::Key.3 \
Crypt::OpenPGP::CFB.3 Crypt::OpenPGP::SKSessionKey.3 \
Crypt::OpenPGP::UserID.3 Crypt::OpenPGP::SessionKey.3 \
Crypt::OpenPGP::Words.3 Crypt::OpenPGP::PacketFactory.3 \
Crypt::OpenPGP::S2k.3 Crypt::OpenPGP.3 \
Crypt::OpenPGP::Signature.3 \
Crypt::OpenPGP::KeyBlock.3 Crypt::OpenPGP::MDC.3 \
Crypt::OpenPGP::Compressed.3 Crypt::OpenPGP::Armour.3 \
Crypt::OpenPGP::KeyRing.3 Crypt::OpenPGP::Plaintext.3 \
Crypt::OpenPGP::Buffer.3 Crypt::OpenPGP::Cipher.3 \
Crypt::OpenPGP::OnePassSig.3 Crypt::OpenPGP::Constants.3 \
Crypt::OpenPGP::Util.3 Crypt::OpenPGP::Digest.3 \
Crypt::OpenPGP::Ciphertext.3 Crypt::OpenPGP::Marker.3 \
Crypt::OpenPGP::Trust.3 Crypt::OpenPGP::Certificate.3 \
Crypt::OpenPGP::Message.3 Crypt::OpenPGP::KeyServer.3
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500800
BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/MIME/Base64.pm:${PORTSDIR}/converters/p5-MIME-Base64 \
${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/MIME/Base64.pm:${PORTSDIR}/converters/p5-MIME-Base64 \
${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5
.endif
.include <bsd.port.post.mk>

View File

@@ -1,3 +0,0 @@
MD5 (Crypt-OpenPGP-1.03.tar.gz) = 020141cf2a3c22b50373fc5aeb7914d2
SHA256 (Crypt-OpenPGP-1.03.tar.gz) = a602fd8383349ed352614acf984103dfd6b9d2fc721262238bb9080ded1bed08
SIZE (Crypt-OpenPGP-1.03.tar.gz) = 96872

View File

@@ -1,59 +0,0 @@
--- Makefile.PL.orig Tue Dec 10 02:48:09 2002
+++ Makefile.PL Tue Apr 8 10:33:08 2003
@@ -11,56 +11,6 @@
use File::Basename qw/dirname/;
use lib File::Spec->catdir(dirname($0), 'inc');
-use ExtUtils::AutoInstall (
- -core => [
- 'Data::Buffer' => '0.04',
- 'MIME::Base64' => 0,
- 'Math::Pari' => 0,
- 'Compress::Zlib' => 0,
- 'LWP::UserAgent' => 0,
- 'URI::Escape' => 0,
-
- 'Crypt::DSA' => 0,
- 'Crypt::RSA' => 0,
- ],
-
- 'PGP2 Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::IDEA' => 0,
- 'Digest::MD5' => 0,
- ],
-
- 'PGP5 Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::DES_EDE3' => 0,
- 'Digest::SHA1' => 0,
- ],
-
- 'GnuPG Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::Rijndael' => 0,
- 'Crypt::CAST5_PP' => 0,
- 'Crypt::RIPEMD160' => 0,
- ],
-
- 'Support for all ciphers' => [
- -default => $is_sdk,
- 'Crypt::IDEA' => 0,
- 'Crypt::DES_EDE3' => 0,
- 'Crypt::CAST5_PP' => 0,
- 'Crypt::Blowfish' => 0,
- 'Crypt::Twofish' => '2.00',
- 'Crypt::Rijndael' => 0,
- ],
-
- 'Support for all digests' => [
- -default => $is_sdk,
- 'Digest::MD5' => 0,
- 'Digest::SHA1' => 0,
- 'Crypt::RIPEMD160' => 0,
- ],
-);
-
WriteMakefile(
AUTHOR => 'Benjamin Trott <cpan@stupidfool.org>',
ABSTRACT => 'Pure-Perl OpenPGP-compatible PGP implementation',

View File

@@ -1,23 +0,0 @@
Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP standard[1].
In addition to support for the standard itself, Crypt::OpenPGP claims
compatibility with many other PGP implementations, both those that
support the standard and those that preceded it.
Crypt::OpenPGP provides signing/verification, encryption/decryption,
keyring management, and key-pair generation; in short it should provide
you with everything you need to PGP-enable yourself. Alternatively it can
be used as part of a larger system; for example, perhaps you have a
web-form-to-email generator written in Perl, and you'd like to encrypt
outgoing messages, because they contain sensitive information.
Crypt::OpenPGP can be plugged into such a scenario, given your public
key, and told to encrypt all messages; they will then be readable only by
you.
This module currently supports RSA and DSA for digital signatures, and
RSA and ElGamal for encryption/decryption. It supports the symmetric
ciphers 3DES, Blowfish, IDEA, Twofish, and Rijndael (AES). Rijndael is
supported for key sizes of 128, 192, and 256 bits. Crypt::OpenPGP
supports the digest algorithms MD5, SHA-1, and RIPE-MD/160. And it
supports ZIP and Zlib compression.
WWW: http://search.cpan.org/dist/Crypt-OpenPGP/

View File

@@ -1,47 +0,0 @@
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Crypt/OpenPGP/.packlist
%%SITE_PERL%%/Crypt/OpenPGP.pm
%%SITE_PERL%%/Crypt/OpenPGP/Words.pm
%%SITE_PERL%%/Crypt/OpenPGP/Digest.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyRing.pm
%%SITE_PERL%%/Crypt/OpenPGP/Cipher.pm
%%SITE_PERL%%/Crypt/OpenPGP/S2k.pm
%%SITE_PERL%%/Crypt/OpenPGP/Armour.pm
%%SITE_PERL%%/Crypt/OpenPGP/Certificate.pm
%%SITE_PERL%%/Crypt/OpenPGP/Compressed.pm
%%SITE_PERL%%/Crypt/OpenPGP/Message.pm
%%SITE_PERL%%/Crypt/OpenPGP/OnePassSig.pm
%%SITE_PERL%%/Crypt/OpenPGP/Util.pm
%%SITE_PERL%%/Crypt/OpenPGP/SKSessionKey.pm
%%SITE_PERL%%/Crypt/OpenPGP/MDC.pm
%%SITE_PERL%%/Crypt/OpenPGP/CFB.pm
%%SITE_PERL%%/Crypt/OpenPGP/PacketFactory.pm
%%SITE_PERL%%/Crypt/OpenPGP/Signature.pm
%%SITE_PERL%%/Crypt/OpenPGP/Marker.pm
%%SITE_PERL%%/Crypt/OpenPGP/Buffer.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyBlock.pm
%%SITE_PERL%%/Crypt/OpenPGP/ErrorHandler.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyServer.pm
%%SITE_PERL%%/Crypt/OpenPGP/Config.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/DSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/RSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/ElGamal.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/RSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/DSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/ElGamal.pm
%%SITE_PERL%%/Crypt/OpenPGP/SessionKey.pm
%%SITE_PERL%%/Crypt/OpenPGP/Constants.pm
%%SITE_PERL%%/Crypt/OpenPGP/Trust.pm
%%SITE_PERL%%/Crypt/OpenPGP/UserID.pm
%%SITE_PERL%%/Crypt/OpenPGP/Plaintext.pm
%%SITE_PERL%%/Crypt/OpenPGP/Ciphertext.pm
%%SITE_PERL%%/Crypt/OpenPGP/Signature/SubPacket.pm
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Crypt/OpenPGP
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key/Secret
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key/Public
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Signature
@dirrm %%SITE_PERL%%/Crypt/OpenPGP
@dirrmtry %%SITE_PERL%%/Crypt

View File

@@ -767,7 +767,6 @@
SUBDIR += scrollkeeper
SUBDIR += sdf
SUBDIR += sdocbook-xml
SUBDIR += sed_inplace
SUBDIR += senna
SUBDIR += sgmlformat
SUBDIR += sgmls
@@ -862,7 +861,6 @@
SUBDIR += xml-lite.el
SUBDIR += xml-parse.el
SUBDIR += xml2rfc
SUBDIR += xml4j
SUBDIR += xmlada
SUBDIR += xmlcatmgr
SUBDIR += xmlcharent

View File

@@ -1,39 +0,0 @@
# New ports collection makefile for: sed_inplace
# Date created: 17 June 2002
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= sed_inplace
PORTVERSION= 2002.10.19
CATEGORIES= textproc
MASTER_SITES= #
DISTNAME= #
MAINTAINER= ports@FreeBSD.org
COMMENT= A modified version of the sed(1) which can do in-place editing of files
DEPRECATED= This port is not required anymore
EXPIRATION_DATE=2006-07-01
NO_WRKSUBDIR= yes
PLIST_FILES= bin/sed_inplace
MAKEFILE= ${PKGDIR}/src/Makefile
MAKE_ENV= PKGDIR="${PKGDIR}"
.ifdef USE_REINPLACE
IGNORE= cannot be installed: you have `USE_REINPLACE' variable defined either in environment or in make(1) arguments. Please undefine and try again
.endif
.include <bsd.port.pre.mk>
.if ${OSVERSION} > 500033
IGNORE= is in the base system
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/sed_inplace ${PREFIX}/bin
.include <bsd.port.post.mk>

View File

@@ -1,2 +0,0 @@
Modified version of the FreeBSD sed(1) command which can do in-place editing
of files.

View File

@@ -1,12 +0,0 @@
# $FreeBSD$
.PATH: ${PKGDIR}/src
PROG= sed_inplace
SRCS= compile.c main.c misc.c process.c
CFLAGS+= -I${PKGDIR}/src
MAN1=
.include <bsd.prog.mk>

View File

@@ -1,871 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static const char sccsid[] = "@(#)compile.c 8.1 (Berkeley) 6/6/93";
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <ctype.h>
#include <err.h>
#include <fcntl.h>
#include <limits.h>
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "defs.h"
#include "extern.h"
#define LHSZ 128
#define LHMASK (LHSZ - 1)
static struct labhash {
struct labhash *lh_next;
u_int lh_hash;
struct s_command *lh_cmd;
int lh_ref;
} *labels[LHSZ];
static char *compile_addr(char *, struct s_addr *);
static char *compile_ccl(char **, char *);
static char *compile_delimited(char *, char *);
static char *compile_flags(char *, struct s_subst *);
static char *compile_re(char *, regex_t **);
static char *compile_subst(char *, struct s_subst *);
static char *compile_text(void);
static char *compile_tr(char *, char **);
static struct s_command
**compile_stream(struct s_command **);
static char *duptoeol(char *, const char *);
static void enterlabel(struct s_command *);
static struct s_command
*findlabel(char *);
static void fixuplabel(struct s_command *, struct s_command *);
static void uselabel(void);
/*
* Command specification. This is used to drive the command parser.
*/
struct s_format {
char code; /* Command code */
int naddr; /* Number of address args */
enum e_args args; /* Argument type */
};
static struct s_format cmd_fmts[] = {
{'{', 2, GROUP},
{'}', 0, ENDGROUP},
{'a', 1, TEXT},
{'b', 2, BRANCH},
{'c', 2, TEXT},
{'d', 2, EMPTY},
{'D', 2, EMPTY},
{'g', 2, EMPTY},
{'G', 2, EMPTY},
{'h', 2, EMPTY},
{'H', 2, EMPTY},
{'i', 1, TEXT},
{'l', 2, EMPTY},
{'n', 2, EMPTY},
{'N', 2, EMPTY},
{'p', 2, EMPTY},
{'P', 2, EMPTY},
{'q', 1, EMPTY},
{'r', 1, RFILE},
{'s', 2, SUBST},
{'t', 2, BRANCH},
{'w', 2, WFILE},
{'x', 2, EMPTY},
{'y', 2, TR},
{'!', 2, NONSEL},
{':', 0, LABEL},
{'#', 0, COMMENT},
{'=', 1, EMPTY},
{'\0', 0, COMMENT},
};
/* The compiled program. */
struct s_command *prog;
/*
* Compile the program into prog.
* Initialise appends.
*/
void
compile()
{
*compile_stream(&prog) = NULL;
fixuplabel(prog, NULL);
uselabel();
if (appendnum == 0)
appends = NULL;
else if ((appends = malloc(sizeof(struct s_appends) * appendnum)) ==
NULL)
err(1, "malloc");
if ((match = malloc((maxnsub + 1) * sizeof(regmatch_t))) == NULL)
err(1, "malloc");
}
#define EATSPACE() do { \
if (p) \
while (*p && isspace((unsigned char)*p)) \
p++; \
} while (0)
static struct s_command **
compile_stream(link)
struct s_command **link;
{
char *p;
static char lbuf[_POSIX2_LINE_MAX + 1]; /* To save stack */
struct s_command *cmd, *cmd2, *stack;
struct s_format *fp;
int naddr; /* Number of addresses */
stack = 0;
for (;;) {
if ((p = cu_fgets(lbuf, sizeof(lbuf), NULL)) == NULL) {
if (stack != 0)
errx(1, "%lu: %s: unexpected EOF (pending }'s)",
linenum, fname);
return (link);
}
semicolon: EATSPACE();
if (p) {
if (*p == '#' || *p == '\0')
continue;
else if (*p == ';') {
p++;
goto semicolon;
}
}
if ((*link = cmd = malloc(sizeof(struct s_command))) == NULL)
err(1, "malloc");
link = &cmd->next;
cmd->nonsel = cmd->inrange = 0;
/* First parse the addresses */
naddr = 0;
/* Valid characters to start an address */
#define addrchar(c) (strchr("0123456789/\\$", (c)))
if (addrchar(*p)) {
naddr++;
if ((cmd->a1 = malloc(sizeof(struct s_addr))) == NULL)
err(1, "malloc");
p = compile_addr(p, cmd->a1);
EATSPACE(); /* EXTENSION */
if (*p == ',') {
p++;
EATSPACE(); /* EXTENSION */
naddr++;
if ((cmd->a2 = malloc(sizeof(struct s_addr)))
== NULL)
err(1, "malloc");
p = compile_addr(p, cmd->a2);
EATSPACE();
} else
cmd->a2 = 0;
} else
cmd->a1 = cmd->a2 = 0;
nonsel: /* Now parse the command */
if (!*p)
errx(1, "%lu: %s: command expected", linenum, fname);
cmd->code = *p;
for (fp = cmd_fmts; fp->code; fp++)
if (fp->code == *p)
break;
if (!fp->code)
errx(1, "%lu: %s: invalid command code %c", linenum, fname, *p);
if (naddr > fp->naddr)
errx(1,
"%lu: %s: command %c expects up to %d address(es), found %d",
linenum, fname, *p, fp->naddr, naddr);
switch (fp->args) {
case NONSEL: /* ! */
p++;
EATSPACE();
cmd->nonsel = ! cmd->nonsel;
goto nonsel;
case GROUP: /* { */
p++;
EATSPACE();
cmd->next = stack;
stack = cmd;
link = &cmd->u.c;
if (*p)
goto semicolon;
break;
case ENDGROUP:
/*
* Short-circuit command processing, since end of
* group is really just a noop.
*/
cmd->nonsel = 1;
if (stack == 0)
errx(1, "%lu: %s: unexpected }", linenum, fname);
cmd2 = stack;
stack = cmd2->next;
cmd2->next = cmd;
/*FALLTHROUGH*/
case EMPTY: /* d D g G h H l n N p P q x = \0 */
p++;
EATSPACE();
if (*p == ';') {
p++;
link = &cmd->next;
goto semicolon;
}
if (*p)
errx(1, "%lu: %s: extra characters at the end of %c command",
linenum, fname, cmd->code);
break;
case TEXT: /* a c i */
p++;
EATSPACE();
if (*p != '\\')
errx(1,
"%lu: %s: command %c expects \\ followed by text", linenum, fname, cmd->code);
p++;
EATSPACE();
if (*p)
errx(1,
"%lu: %s: extra characters after \\ at the end of %c command",
linenum, fname, cmd->code);
cmd->t = compile_text();
break;
case COMMENT: /* \0 # */
break;
case WFILE: /* w */
p++;
EATSPACE();
if (*p == '\0')
errx(1, "%lu: %s: filename expected", linenum, fname);
cmd->t = duptoeol(p, "w command");
if (aflag)
cmd->u.fd = -1;
else if ((cmd->u.fd = open(p,
O_WRONLY|O_APPEND|O_CREAT|O_TRUNC,
DEFFILEMODE)) == -1)
err(1, "%s", p);
break;
case RFILE: /* r */
p++;
EATSPACE();
if (*p == '\0')
errx(1, "%lu: %s: filename expected", linenum, fname);
else
cmd->t = duptoeol(p, "read command");
break;
case BRANCH: /* b t */
p++;
EATSPACE();
if (*p == '\0')
cmd->t = NULL;
else
cmd->t = duptoeol(p, "branch");
break;
case LABEL: /* : */
p++;
EATSPACE();
cmd->t = duptoeol(p, "label");
if (strlen(p) == 0)
errx(1, "%lu: %s: empty label", linenum, fname);
enterlabel(cmd);
break;
case SUBST: /* s */
p++;
if (*p == '\0' || *p == '\\')
errx(1,
"%lu: %s: substitute pattern can not be delimited by newline or backslash",
linenum, fname);
if ((cmd->u.s = malloc(sizeof(struct s_subst))) == NULL)
err(1, "malloc");
p = compile_re(p, &cmd->u.s->re);
if (p == NULL)
errx(1,
"%lu: %s: unterminated substitute pattern", linenum, fname);
--p;
p = compile_subst(p, cmd->u.s);
p = compile_flags(p, cmd->u.s);
EATSPACE();
if (*p == ';') {
p++;
link = &cmd->next;
goto semicolon;
}
break;
case TR: /* y */
p++;
p = compile_tr(p, (char **)&cmd->u.y);
EATSPACE();
if (*p == ';') {
p++;
link = &cmd->next;
goto semicolon;
}
if (*p)
errx(1,
"%lu: %s: extra text at the end of a transform command", linenum, fname);
break;
}
}
}
/*
* Get a delimited string. P points to the delimeter of the string; d points
* to a buffer area. Newline and delimiter escapes are processed; other
* escapes are ignored.
*
* Returns a pointer to the first character after the final delimiter or NULL
* in the case of a non-terminated string. The character array d is filled
* with the processed string.
*/
static char *
compile_delimited(p, d)
char *p, *d;
{
char c;
c = *p++;
if (c == '\0')
return (NULL);
else if (c == '\\')
errx(1, "%lu: %s: \\ can not be used as a string delimiter",
linenum, fname);
else if (c == '\n')
errx(1, "%lu: %s: newline can not be used as a string delimiter",
linenum, fname);
while (*p) {
if (*p == '[') {
if ((d = compile_ccl(&p, d)) == NULL)
errx(1, "%lu: %s: unbalanced brackets ([])", linenum, fname);
continue;
} else if (*p == '\\' && p[1] == '[') {
*d++ = *p++;
} else if (*p == '\\' && p[1] == c)
p++;
else if (*p == '\\' && p[1] == 'n') {
*d++ = '\n';
p += 2;
continue;
} else if (*p == '\\' && p[1] == '\\')
*d++ = *p++;
else if (*p == c) {
*d = '\0';
return (p + 1);
}
*d++ = *p++;
}
return (NULL);
}
/* compile_ccl: expand a POSIX character class */
static char *
compile_ccl(sp, t)
char **sp;
char *t;
{
int c, d;
char *s = *sp;
*t++ = *s++;
if (*s == '^')
*t++ = *s++;
if (*s == ']')
*t++ = *s++;
for (; *s && (*t = *s) != ']'; s++, t++)
if (*s == '[' && ((d = *(s+1)) == '.' || d == ':' || d == '=')) {
*++t = *++s, t++, s++;
for (c = *s; (*t = *s) != ']' || c != d; s++, t++)
if ((c = *s) == '\0')
return NULL;
} else if (*s == '\\' && s[1] == 'n')
*t = '\n', s++;
return (*s == ']') ? *sp = ++s, ++t : NULL;
}
/*
* Get a regular expression. P points to the delimiter of the regular
* expression; repp points to the address of a regexp pointer. Newline
* and delimiter escapes are processed; other escapes are ignored.
* Returns a pointer to the first character after the final delimiter
* or NULL in the case of a non terminated regular expression. The regexp
* pointer is set to the compiled regular expression.
* Cflags are passed to regcomp.
*/
static char *
compile_re(p, repp)
char *p;
regex_t **repp;
{
int eval;
char re[_POSIX2_LINE_MAX + 1];
p = compile_delimited(p, re);
if (p && strlen(re) == 0) {
*repp = NULL;
return (p);
}
if ((*repp = malloc(sizeof(regex_t))) == NULL)
err(1, "malloc");
if (p && (eval = regcomp(*repp, re, rflags)) != 0)
errx(1, "%lu: %s: RE error: %s",
linenum, fname, strregerror(eval, *repp));
if (maxnsub < (*repp)->re_nsub)
maxnsub = (*repp)->re_nsub;
return (p);
}
/*
* Compile the substitution string of a regular expression and set res to
* point to a saved copy of it. Nsub is the number of parenthesized regular
* expressions.
*/
static char *
compile_subst(p, s)
char *p;
struct s_subst *s;
{
static char lbuf[_POSIX2_LINE_MAX + 1];
int asize, size;
u_char ref;
char c, *text, *op, *sp;
int more = 1, sawesc = 0;
c = *p++; /* Terminator character */
if (c == '\0')
return (NULL);
s->maxbref = 0;
s->linenum = linenum;
asize = 2 * _POSIX2_LINE_MAX + 1;
if ((text = malloc(asize)) == NULL)
err(1, "malloc");
size = 0;
do {
op = sp = text + size;
for (; *p; p++) {
if (*p == '\\' || sawesc) {
/*
* If this is a continuation from the last
* buffer, we won't have a character to
* skip over.
*/
if (sawesc)
sawesc = 0;
else
p++;
if (*p == '\0') {
/*
* This escaped character is continued
* in the next part of the line. Note
* this fact, then cause the loop to
* exit w/ normal EOL case and reenter
* above with the new buffer.
*/
sawesc = 1;
p--;
continue;
} else if (strchr("123456789", *p) != NULL) {
*sp++ = '\\';
ref = *p - '0';
if (s->re != NULL &&
ref > s->re->re_nsub)
errx(1, "%lu: %s: \\%c not defined in the RE",
linenum, fname, *p);
if (s->maxbref < ref)
s->maxbref = ref;
} else if (*p == '&' || *p == '\\')
*sp++ = '\\';
} else if (*p == c) {
if (*++p == '\0' && more) {
if (cu_fgets(lbuf, sizeof(lbuf), &more))
p = lbuf;
}
*sp++ = '\0';
size += sp - op;
if ((s->new = realloc(text, size)) == NULL)
err(1, "realloc");
return (p);
} else if (*p == '\n') {
errx(1,
"%lu: %s: unescaped newline inside substitute pattern", linenum, fname);
/* NOTREACHED */
}
*sp++ = *p;
}
size += sp - op;
if (asize - size < _POSIX2_LINE_MAX + 1) {
asize *= 2;
if ((text = realloc(text, asize)) == NULL)
err(1, "realloc");
}
} while (cu_fgets(p = lbuf, sizeof(lbuf), &more));
errx(1, "%lu: %s: unterminated substitute in regular expression",
linenum, fname);
/* NOTREACHED */
}
/*
* Compile the flags of the s command
*/
static char *
compile_flags(p, s)
char *p;
struct s_subst *s;
{
int gn; /* True if we have seen g or n */
char wfile[_POSIX2_LINE_MAX + 1], *q;
s->n = 1; /* Default */
s->p = 0;
s->wfile = NULL;
s->wfd = -1;
for (gn = 0;;) {
EATSPACE(); /* EXTENSION */
switch (*p) {
case 'g':
if (gn)
errx(1,
"%lu: %s: more than one number or 'g' in substitute flags", linenum, fname);
gn = 1;
s->n = 0;
break;
case '\0':
case '\n':
case ';':
return (p);
case 'p':
s->p = 1;
break;
case '1': case '2': case '3':
case '4': case '5': case '6':
case '7': case '8': case '9':
if (gn)
errx(1,
"%lu: %s: more than one number or 'g' in substitute flags", linenum, fname);
gn = 1;
/* XXX Check for overflow */
s->n = (int)strtol(p, &p, 10);
break;
case 'w':
p++;
#ifdef HISTORIC_PRACTICE
if (*p != ' ') {
warnx("%lu: %s: space missing before w wfile", linenum, fname);
return (p);
}
#endif
EATSPACE();
q = wfile;
while (*p) {
if (*p == '\n')
break;
*q++ = *p++;
}
*q = '\0';
if (q == wfile)
errx(1, "%lu: %s: no wfile specified", linenum, fname);
s->wfile = strdup(wfile);
if (!aflag && (s->wfd = open(wfile,
O_WRONLY|O_APPEND|O_CREAT|O_TRUNC,
DEFFILEMODE)) == -1)
err(1, "%s", wfile);
return (p);
default:
errx(1, "%lu: %s: bad flag in substitute command: '%c'",
linenum, fname, *p);
break;
}
p++;
}
}
/*
* Compile a translation set of strings into a lookup table.
*/
static char *
compile_tr(p, transtab)
char *p;
char **transtab;
{
int i;
char *lt, *op, *np;
char old[_POSIX2_LINE_MAX + 1];
char new[_POSIX2_LINE_MAX + 1];
if (*p == '\0' || *p == '\\')
errx(1,
"%lu: %s: transform pattern can not be delimited by newline or backslash",
linenum, fname);
p = compile_delimited(p, old);
if (p == NULL)
errx(1, "%lu: %s: unterminated transform source string",
linenum, fname);
p = compile_delimited(--p, new);
if (p == NULL)
errx(1, "%lu: %s: unterminated transform target string",
linenum, fname);
EATSPACE();
if (strlen(new) != strlen(old))
errx(1, "%lu: %s: transform strings are not the same length",
linenum, fname);
/* We assume characters are 8 bits */
if ((lt = malloc(UCHAR_MAX)) == NULL)
err(1, "malloc");
for (i = 0; i <= UCHAR_MAX; i++)
lt[i] = (char)i;
for (op = old, np = new; *op; op++, np++)
lt[(u_char)*op] = *np;
*transtab = lt;
return (p);
}
/*
* Compile the text following an a or i command.
*/
static char *
compile_text()
{
int asize, esc_nl, size;
char *text, *p, *op, *s;
char lbuf[_POSIX2_LINE_MAX + 1];
asize = 2 * _POSIX2_LINE_MAX + 1;
if ((text = malloc(asize)) == NULL)
err(1, "malloc");
size = 0;
while (cu_fgets(lbuf, sizeof(lbuf), NULL)) {
op = s = text + size;
p = lbuf;
EATSPACE();
for (esc_nl = 0; *p != '\0'; p++) {
if (*p == '\\' && p[1] != '\0' && *++p == '\n')
esc_nl = 1;
*s++ = *p;
}
size += s - op;
if (!esc_nl) {
*s = '\0';
break;
}
if (asize - size < _POSIX2_LINE_MAX + 1) {
asize *= 2;
if ((text = realloc(text, asize)) == NULL)
err(1, "realloc");
}
}
text[size] = '\0';
if ((p = realloc(text, size + 1)) == NULL)
err(1, "realloc");
return (p);
}
/*
* Get an address and return a pointer to the first character after
* it. Fill the structure pointed to according to the address.
*/
static char *
compile_addr(p, a)
char *p;
struct s_addr *a;
{
char *end;
switch (*p) {
case '\\': /* Context address */
++p;
/* FALLTHROUGH */
case '/': /* Context address */
p = compile_re(p, &a->u.r);
if (p == NULL)
errx(1, "%lu: %s: unterminated regular expression", linenum, fname);
a->type = AT_RE;
return (p);
case '$': /* Last line */
a->type = AT_LAST;
return (p + 1);
/* Line number */
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
a->type = AT_LINE;
a->u.l = strtol(p, &end, 10);
return (end);
default:
errx(1, "%lu: %s: expected context address", linenum, fname);
return (NULL);
}
}
/*
* duptoeol --
* Return a copy of all the characters up to \n or \0.
*/
static char *
duptoeol(s, ctype)
char *s;
const char *ctype;
{
size_t len;
int ws;
char *p, *start;
ws = 0;
for (start = s; *s != '\0' && *s != '\n'; ++s)
ws = isspace((unsigned char)*s);
*s = '\0';
if (ws)
warnx("%lu: %s: whitespace after %s", linenum, fname, ctype);
len = s - start + 1;
if ((p = malloc(len)) == NULL)
err(1, "malloc");
return (memmove(p, start, len));
}
/*
* Convert goto label names to addresses, and count a and r commands, in
* the given subset of the script. Free the memory used by labels in b
* and t commands (but not by :).
*
* TODO: Remove } nodes
*/
static void
fixuplabel(cp, end)
struct s_command *cp, *end;
{
for (; cp != end; cp = cp->next)
switch (cp->code) {
case 'a':
case 'r':
appendnum++;
break;
case 'b':
case 't':
/* Resolve branch target. */
if (cp->t == NULL) {
cp->u.c = NULL;
break;
}
if ((cp->u.c = findlabel(cp->t)) == NULL)
errx(1, "%lu: %s: undefined label '%s'", linenum, fname, cp->t);
free(cp->t);
break;
case '{':
/* Do interior commands. */
fixuplabel(cp->u.c, cp->next);
break;
}
}
/*
* Associate the given command label for later lookup.
*/
static void
enterlabel(cp)
struct s_command *cp;
{
struct labhash **lhp, *lh;
u_char *p;
u_int h, c;
for (h = 0, p = (u_char *)cp->t; (c = *p) != 0; p++)
h = (h << 5) + h + c;
lhp = &labels[h & LHMASK];
for (lh = *lhp; lh != NULL; lh = lh->lh_next)
if (lh->lh_hash == h && strcmp(cp->t, lh->lh_cmd->t) == 0)
errx(1, "%lu: %s: duplicate label '%s'", linenum, fname, cp->t);
if ((lh = malloc(sizeof *lh)) == NULL)
err(1, "malloc");
lh->lh_next = *lhp;
lh->lh_hash = h;
lh->lh_cmd = cp;
lh->lh_ref = 0;
*lhp = lh;
}
/*
* Find the label contained in the command l in the command linked
* list cp. L is excluded from the search. Return NULL if not found.
*/
static struct s_command *
findlabel(name)
char *name;
{
struct labhash *lh;
u_char *p;
u_int h, c;
for (h = 0, p = (u_char *)name; (c = *p) != 0; p++)
h = (h << 5) + h + c;
for (lh = labels[h & LHMASK]; lh != NULL; lh = lh->lh_next) {
if (lh->lh_hash == h && strcmp(name, lh->lh_cmd->t) == 0) {
lh->lh_ref = 1;
return (lh->lh_cmd);
}
}
return (NULL);
}
/*
* Warn about any unused labels. As a side effect, release the label hash
* table space.
*/
static void
uselabel()
{
struct labhash *lh, *next;
int i;
for (i = 0; i < LHSZ; i++) {
for (lh = labels[i]; lh != NULL; lh = next) {
next = lh->lh_next;
if (!lh->lh_ref)
warnx("%lu: %s: unused label '%s'",
linenum, fname, lh->lh_cmd->t);
free(lh);
}
}
}

View File

@@ -1,136 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)defs.h 8.1 (Berkeley) 6/6/93
*/
/*
* Types of address specifications
*/
enum e_atype {
AT_RE, /* Line that match RE */
AT_LINE, /* Specific line */
AT_LAST, /* Last line */
};
/*
* Format of an address
*/
struct s_addr {
enum e_atype type; /* Address type */
union {
u_long l; /* Line number */
regex_t *r; /* Regular expression */
} u;
};
/*
* Substitution command
*/
struct s_subst {
int n; /* Occurrence to subst. */
int p; /* True if p flag */
char *wfile; /* NULL if no wfile */
int wfd; /* Cached file descriptor */
regex_t *re; /* Regular expression */
int maxbref; /* Largest backreference. */
u_long linenum; /* Line number. */
char *new; /* Replacement text */
};
/*
* An internally compiled command.
* Initialy, label references are stored in t, on a second pass they
* are updated to pointers.
*/
struct s_command {
struct s_command *next; /* Pointer to next command */
struct s_addr *a1, *a2; /* Start and end address */
char *t; /* Text for : a c i r w */
union {
struct s_command *c; /* Command(s) for b t { */
struct s_subst *s; /* Substitute command */
u_char *y; /* Replace command array */
int fd; /* File descriptor for w */
} u;
char code; /* Command code */
u_int nonsel:1; /* True if ! */
u_int inrange:1; /* True if in range */
};
/*
* Types of command arguments recognised by the parser
*/
enum e_args {
EMPTY, /* d D g G h H l n N p P q x = \0 */
TEXT, /* a c i */
NONSEL, /* ! */
GROUP, /* { */
ENDGROUP, /* } */
COMMENT, /* # */
BRANCH, /* b t */
LABEL, /* : */
RFILE, /* r */
WFILE, /* w */
SUBST, /* s */
TR /* y */
};
/*
* Structure containing things to append before a line is read
*/
struct s_appends {
enum {AP_STRING, AP_FILE} type;
char *s;
size_t len;
};
enum e_spflag {
APPEND, /* Append to the contents. */
REPLACE, /* Replace the contents. */
};
/*
* Structure for a space (process, hold, otherwise).
*/
typedef struct {
char *space; /* Current space pointer. */
size_t len; /* Current length. */
int deleted; /* If deleted. */
char *back; /* Backing memory. */
size_t blen; /* Backing memory length. */
} SPACE;

View File

@@ -1,58 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)extern.h 8.1 (Berkeley) 6/6/93
* $FreeBSD$
*/
extern struct s_command *prog;
extern struct s_appends *appends;
extern regmatch_t *match;
extern size_t maxnsub;
extern u_long linenum;
extern int appendnum;
extern int aflag, eflag, nflag;
extern const char *fname;
extern int rflags; /* regex flags to use */
void cfclose(struct s_command *, struct s_command *);
void compile(void);
void cspace(SPACE *, const char *, size_t, enum e_spflag);
char *cu_fgets(char *, int, int *);
int mf_fgets(SPACE *, enum e_spflag);
int lastline(void);
void process(void);
char *strregerror(int, regex_t *);

View File

@@ -1,467 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static const char copyright[] =
"@(#) Copyright (c) 1992, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif
#ifndef lint
static const char sccsid[] = "@(#)main.c 8.2 (Berkeley) 1/3/94";
#endif
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <locale.h>
#include <regex.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "defs.h"
#include "extern.h"
/*
* Linked list of units (strings and files) to be compiled
*/
struct s_compunit {
struct s_compunit *next;
enum e_cut {CU_FILE, CU_STRING} type;
char *s; /* Pointer to string or fname */
};
/*
* Linked list pointer to compilation units and pointer to current
* next pointer.
*/
static struct s_compunit *script, **cu_nextp = &script;
/*
* Linked list of files to be processed
*/
struct s_flist {
char *fname;
struct s_flist *next;
};
/*
* Linked list pointer to files and pointer to current
* next pointer.
*/
static struct s_flist *files, **fl_nextp = &files;
static FILE *curfile; /* Current open file */
int aflag, eflag, nflag;
int rflags = 0;
static int rval; /* Exit status */
/*
* Current file and line number; line numbers restart across compilation
* units, but span across input files.
*/
const char *fname; /* File name. */
const char *inplace; /* Inplace edit file extension. */
u_long linenum;
static void add_compunit(enum e_cut, char *);
static void add_file(char *);
static int inplace_edit(char **);
static void usage(void);
int
main(argc, argv)
int argc;
char *argv[];
{
int c, fflag;
char *temp_arg;
(void) setlocale(LC_ALL, "");
fflag = 0;
inplace = NULL;
while ((c = getopt(argc, argv, "Eae:f:i:n")) != -1)
switch (c) {
case 'E':
rflags = REG_EXTENDED;
break;
case 'a':
aflag = 1;
break;
case 'e':
eflag = 1;
if ((temp_arg = malloc(strlen(optarg) + 2)) == NULL)
err(1, "malloc");
strcpy(temp_arg, optarg);
strcat(temp_arg, "\n");
add_compunit(CU_STRING, temp_arg);
break;
case 'f':
fflag = 1;
add_compunit(CU_FILE, optarg);
break;
case 'i':
inplace = optarg;
break;
case 'n':
nflag = 1;
break;
default:
case '?':
usage();
}
argc -= optind;
argv += optind;
/* First usage case; script is the first arg */
if (!eflag && !fflag && *argv) {
add_compunit(CU_STRING, *argv);
argv++;
}
compile();
/* Continue with first and start second usage */
if (*argv)
for (; *argv; argv++)
add_file(*argv);
else
add_file(NULL);
process();
cfclose(prog, NULL);
if (fclose(stdout))
err(1, "stdout");
exit(rval);
}
static void
usage()
{
(void)fprintf(stderr, "%s\n%s\n",
"usage: sed script [-Ean] [-i extension] [file ...]",
" sed [-an] [-i extension] [-e script] ... [-f script_file] ... [file ...]");
exit(1);
}
/*
* Like fgets, but go through the chain of compilation units chaining them
* together. Empty strings and files are ignored.
*/
char *
cu_fgets(buf, n, more)
char *buf;
int n;
int *more;
{
static enum {ST_EOF, ST_FILE, ST_STRING} state = ST_EOF;
static FILE *f; /* Current open file */
static char *s; /* Current pointer inside string */
static char string_ident[30];
char *p;
again:
switch (state) {
case ST_EOF:
if (script == NULL) {
if (more != NULL)
*more = 0;
return (NULL);
}
linenum = 0;
switch (script->type) {
case CU_FILE:
if ((f = fopen(script->s, "r")) == NULL)
err(1, "%s", script->s);
fname = script->s;
state = ST_FILE;
goto again;
case CU_STRING:
if ((snprintf(string_ident,
sizeof(string_ident), "\"%s\"", script->s)) >=
sizeof(string_ident) - 1)
(void)strcpy(string_ident +
sizeof(string_ident) - 6, " ...\"");
fname = string_ident;
s = script->s;
state = ST_STRING;
goto again;
}
case ST_FILE:
if ((p = fgets(buf, n, f)) != NULL) {
linenum++;
if (linenum == 1 && buf[0] == '#' && buf[1] == 'n')
nflag = 1;
if (more != NULL)
*more = !feof(f);
return (p);
}
script = script->next;
(void)fclose(f);
state = ST_EOF;
goto again;
case ST_STRING:
if (linenum == 0 && s[0] == '#' && s[1] == 'n')
nflag = 1;
p = buf;
for (;;) {
if (n-- <= 1) {
*p = '\0';
linenum++;
if (more != NULL)
*more = 1;
return (buf);
}
switch (*s) {
case '\0':
state = ST_EOF;
if (s == script->s) {
script = script->next;
goto again;
} else {
script = script->next;
*p = '\0';
linenum++;
if (more != NULL)
*more = 0;
return (buf);
}
case '\n':
*p++ = '\n';
*p = '\0';
s++;
linenum++;
if (more != NULL)
*more = 0;
return (buf);
default:
*p++ = *s++;
}
}
}
/* NOTREACHED */
return (NULL);
}
/*
* Like fgets, but go through the list of files chaining them together.
* Set len to the length of the line.
*/
int
mf_fgets(sp, spflag)
SPACE *sp;
enum e_spflag spflag;
{
size_t len;
char *p;
int c;
static int firstfile;
if (curfile == NULL) {
/* stdin? */
if (files->fname == NULL) {
if (inplace != NULL)
errx(1, "-i may not be used with stdin");
curfile = stdin;
fname = "stdin";
}
firstfile = 1;
}
for (;;) {
if (curfile != NULL && (c = getc(curfile)) != EOF) {
(void)ungetc(c, curfile);
break;
}
/* If we are here then either eof or no files are open yet */
if (curfile == stdin) {
sp->len = 0;
return (0);
}
if (curfile != NULL) {
fclose(curfile);
}
if (firstfile == 0) {
files = files->next;
} else
firstfile = 0;
if (files == NULL) {
sp->len = 0;
return (0);
}
if (inplace != NULL) {
if (inplace_edit(&files->fname) == -1)
continue;
}
fname = files->fname;
if ((curfile = fopen(fname, "r")) == NULL) {
warn("%s", fname);
rval = 1;
continue;
}
if (inplace != NULL && *inplace == '\0')
unlink(fname);
}
/*
* We are here only when curfile is open and we still have something
* to read from it.
*
* Use fgetln so that we can handle essentially infinite input data.
* Can't use the pointer into the stdio buffer as the process space
* because the ungetc() can cause it to move.
*/
p = fgetln(curfile, &len);
if (ferror(curfile))
errx(1, "%s: %s", fname, strerror(errno ? errno : EIO));
if (len != 0 && p[len - 1] == '\n')
len--;
cspace(sp, p, len, spflag);
linenum++;
return (1);
}
/*
* Add a compilation unit to the linked list
*/
static void
add_compunit(type, s)
enum e_cut type;
char *s;
{
struct s_compunit *cu;
if ((cu = malloc(sizeof(struct s_compunit))) == NULL)
err(1, "malloc");
cu->type = type;
cu->s = s;
cu->next = NULL;
*cu_nextp = cu;
cu_nextp = &cu->next;
}
/*
* Add a file to the linked list
*/
static void
add_file(s)
char *s;
{
struct s_flist *fp;
if ((fp = malloc(sizeof(struct s_flist))) == NULL)
err(1, "malloc");
fp->next = NULL;
*fl_nextp = fp;
fp->fname = s;
fl_nextp = &fp->next;
}
/*
* Modify a pointer to a filename for inplace editing and reopen stdout
*/
static int
inplace_edit(filename)
char **filename;
{
struct stat orig;
char backup[MAXPATHLEN];
if (lstat(*filename, &orig) == -1)
err(1, "lstat");
if ((orig.st_mode & S_IFREG) == 0) {
warnx("cannot inplace edit %s, not a regular file", *filename);
return -1;
}
if (*inplace == '\0') {
/*
* This is a bit of a hack: we use mkstemp() to avoid the
* mktemp() link-time warning, although mktemp() would fit in
* this context much better. We're only interested in getting
* a name for use in the rename(); there aren't any security
* issues here that don't already exist in relation to the
* original file and its directory.
*/
int fd;
strlcpy(backup, *filename, sizeof(backup));
strlcat(backup, ".XXXXXXXXXX", sizeof(backup));
fd = mkstemp(backup);
if (fd == -1)
errx(1, "could not create backup of %s", *filename);
else
close(fd);
} else {
strlcpy(backup, *filename, sizeof(backup));
strlcat(backup, inplace, sizeof(backup));
}
if (rename(*filename, backup) == -1)
err(1, "rename(\"%s\", \"%s\")", *filename, backup);
if (freopen(*filename, "w", stdout) == NULL)
err(1, "open(\"%s\")", *filename);
if (fchmod(fileno(stdout), orig.st_mode) == -1)
err(1, "chmod(\"%s\")", *filename);
*filename = strdup(backup);
if (*filename == NULL)
err(1, "malloc");
return 0;
}
int
lastline(void)
{
int ch;
if (files->next != NULL)
return (0);
if ((ch = getc(curfile)) == EOF)
return (1);
ungetc(ch, curfile);
return (0);
}

View File

@@ -1,73 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static const char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/6/93";
#endif
#include <sys/types.h>
#include <err.h>
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "defs.h"
#include "extern.h"
/*
* Return a string for a regular expression error passed. This is a overkill,
* because of the silly semantics of regerror (we can never know the size of
* the buffer).
*/
char *
strregerror(errcode, preg)
int errcode;
regex_t *preg;
{
static char *oe;
size_t s;
if (oe != NULL)
free(oe);
s = regerror(errcode, preg, NULL, 0);
if ((oe = malloc(s)) == NULL)
err(1, "malloc");
(void)regerror(errcode, preg, oe, s);
return (oe);
}

View File

@@ -1,648 +0,0 @@
/*-
* Copyright (c) 1992 Diomidis Spinellis.
* Copyright (c) 1992, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Diomidis Spinellis of Imperial College, University of London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static const char sccsid[] = "@(#)process.c 8.6 (Berkeley) 4/20/94";
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/uio.h>
#include <ctype.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <limits.h>
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "defs.h"
#include "extern.h"
static SPACE HS, PS, SS;
#define pd PS.deleted
#define ps PS.space
#define psl PS.len
#define hs HS.space
#define hsl HS.len
static __inline int applies(struct s_command *);
static void flush_appends(void);
static void lputs(char *);
static __inline int regexec_e(regex_t *, const char *, int, int, size_t);
static void regsub(SPACE *, char *, char *);
static int substitute(struct s_command *);
struct s_appends *appends; /* Array of pointers to strings to append. */
static int appendx; /* Index into appends array. */
int appendnum; /* Size of appends array. */
static int lastaddr; /* Set by applies if last address of a range. */
static int sdone; /* If any substitutes since last line input. */
/* Iov structure for 'w' commands. */
static regex_t *defpreg;
size_t maxnsub;
regmatch_t *match;
#define OUT(s) { fwrite(s, sizeof(u_char), psl, stdout); putchar('\n'); }
void
process()
{
struct s_command *cp;
SPACE tspace;
size_t len, oldpsl = 0;
char *p;
p = NULL;
for (linenum = 0; mf_fgets(&PS, REPLACE);) {
pd = 0;
top:
cp = prog;
redirect:
while (cp != NULL) {
if (!applies(cp)) {
cp = cp->next;
continue;
}
switch (cp->code) {
case '{':
cp = cp->u.c;
goto redirect;
case 'a':
if (appendx >= appendnum)
if ((appends = realloc(appends,
sizeof(struct s_appends) *
(appendnum *= 2))) == NULL)
err(1, "realloc");
appends[appendx].type = AP_STRING;
appends[appendx].s = cp->t;
appends[appendx].len = strlen(cp->t);
appendx++;
break;
case 'b':
cp = cp->u.c;
goto redirect;
case 'c':
pd = 1;
psl = 0;
if (cp->a2 == NULL || lastaddr)
(void)printf("%s", cp->t);
break;
case 'd':
pd = 1;
goto new;
case 'D':
if (pd)
goto new;
if (psl == 0 ||
(p = memchr(ps, '\n', psl)) == NULL) {
pd = 1;
goto new;
} else {
psl -= (p + 1) - ps;
memmove(ps, p + 1, psl);
goto top;
}
case 'g':
cspace(&PS, hs, hsl, REPLACE);
break;
case 'G':
cspace(&PS, "\n", 1, 0);
cspace(&PS, hs, hsl, 0);
break;
case 'h':
cspace(&HS, ps, psl, REPLACE);
break;
case 'H':
cspace(&HS, "\n", 1, 0);
cspace(&HS, ps, psl, 0);
break;
case 'i':
(void)printf("%s", cp->t);
break;
case 'l':
lputs(ps);
break;
case 'n':
if (!nflag && !pd)
OUT(ps)
flush_appends();
if (!mf_fgets(&PS, REPLACE))
exit(0);
pd = 0;
break;
case 'N':
flush_appends();
cspace(&PS, "\n", 1, 0);
if (!mf_fgets(&PS, 0))
exit(0);
break;
case 'p':
if (pd)
break;
OUT(ps)
break;
case 'P':
if (pd)
break;
if (psl != 0 &&
(p = memchr(ps, '\n', psl)) != NULL) {
oldpsl = psl;
psl = p - ps;
}
OUT(ps)
if (p != NULL)
psl = oldpsl;
break;
case 'q':
if (!nflag && !pd)
OUT(ps)
flush_appends();
exit(0);
case 'r':
if (appendx >= appendnum)
if ((appends = realloc(appends,
sizeof(struct s_appends) *
(appendnum *= 2))) == NULL)
err(1, "realloc");
appends[appendx].type = AP_FILE;
appends[appendx].s = cp->t;
appends[appendx].len = strlen(cp->t);
appendx++;
break;
case 's':
sdone |= substitute(cp);
break;
case 't':
if (sdone) {
sdone = 0;
cp = cp->u.c;
goto redirect;
}
break;
case 'w':
if (pd)
break;
if (cp->u.fd == -1 && (cp->u.fd = open(cp->t,
O_WRONLY|O_APPEND|O_CREAT|O_TRUNC,
DEFFILEMODE)) == -1)
err(1, "%s", cp->t);
if (write(cp->u.fd, ps, psl) != psl ||
write(cp->u.fd, "\n", 1) != 1)
err(1, "%s", cp->t);
break;
case 'x':
if (hs == NULL)
cspace(&HS, "", 0, REPLACE);
tspace = PS;
PS = HS;
HS = tspace;
break;
case 'y':
if (pd || psl == 0)
break;
for (p = ps, len = psl; len--; ++p)
*p = cp->u.y[(unsigned char)*p];
break;
case ':':
case '}':
break;
case '=':
(void)printf("%lu\n", linenum);
}
cp = cp->next;
} /* for all cp */
new: if (!nflag && !pd)
OUT(ps)
flush_appends();
} /* for all lines */
}
/*
* TRUE if the address passed matches the current program state
* (lastline, linenumber, ps).
*/
#define MATCH(a) \
(a)->type == AT_RE ? regexec_e((a)->u.r, ps, 0, 1, psl) : \
(a)->type == AT_LINE ? linenum == (a)->u.l : lastline()
/*
* Return TRUE if the command applies to the current line. Sets the inrange
* flag to process ranges. Interprets the non-select (``!'') flag.
*/
static __inline int
applies(cp)
struct s_command *cp;
{
int r;
lastaddr = 0;
if (cp->a1 == NULL && cp->a2 == NULL)
r = 1;
else if (cp->a2)
if (cp->inrange) {
if (MATCH(cp->a2)) {
cp->inrange = 0;
lastaddr = 1;
}
r = 1;
} else if (MATCH(cp->a1)) {
/*
* If the second address is a number less than or
* equal to the line number first selected, only
* one line shall be selected.
* -- POSIX 1003.2
*/
if (cp->a2->type == AT_LINE &&
linenum >= cp->a2->u.l)
lastaddr = 1;
else
cp->inrange = 1;
r = 1;
} else
r = 0;
else
r = MATCH(cp->a1);
return (cp->nonsel ? ! r : r);
}
/*
* substitute --
* Do substitutions in the pattern space. Currently, we build a
* copy of the new pattern space in the substitute space structure
* and then swap them.
*/
static int
substitute(cp)
struct s_command *cp;
{
SPACE tspace;
regex_t *re;
size_t re_off, slen;
int lastempty, n;
char *s;
s = ps;
re = cp->u.s->re;
if (re == NULL) {
if (defpreg != NULL && cp->u.s->maxbref > defpreg->re_nsub) {
linenum = cp->u.s->linenum;
errx(1, "%lu: %s: \\%d not defined in the RE",
linenum, fname, cp->u.s->maxbref);
}
}
if (!regexec_e(re, s, 0, 0, psl))
return (0);
SS.len = 0; /* Clean substitute space. */
slen = psl;
n = cp->u.s->n;
lastempty = 1;
switch (n) {
case 0: /* Global */
do {
if (lastempty || match[0].rm_so != match[0].rm_eo) {
/* Locate start of replaced string. */
re_off = match[0].rm_so;
/* Copy leading retained string. */
cspace(&SS, s, re_off, APPEND);
/* Add in regular expression. */
regsub(&SS, s, cp->u.s->new);
}
/* Move past this match. */
if (match[0].rm_so != match[0].rm_eo) {
s += match[0].rm_eo;
slen -= match[0].rm_eo;
lastempty = 0;
} else if (match[0].rm_so == slen) {
s += match[0].rm_so;
slen = 0;
} else {
if (match[0].rm_so == 0)
cspace(&SS, s, match[0].rm_so + 1,
APPEND);
else
cspace(&SS, s + match[0].rm_so, 1,
APPEND);
s += match[0].rm_so + 1;
slen -= match[0].rm_so + 1;
lastempty = 1;
}
} while (slen > 0 && regexec_e(re, s, REG_NOTBOL, 0, slen));
/* Copy trailing retained string. */
if (slen > 0)
cspace(&SS, s, slen, APPEND);
break;
default: /* Nth occurrence */
while (--n) {
s += match[0].rm_eo;
slen -= match[0].rm_eo;
if (!regexec_e(re, s, REG_NOTBOL, 0, slen))
return (0);
}
/* FALLTHROUGH */
case 1: /* 1st occurrence */
/* Locate start of replaced string. */
re_off = match[0].rm_so + (s - ps);
/* Copy leading retained string. */
cspace(&SS, ps, re_off, APPEND);
/* Add in regular expression. */
regsub(&SS, s, cp->u.s->new);
/* Copy trailing retained string. */
s += match[0].rm_eo;
slen -= match[0].rm_eo;
cspace(&SS, s, slen, APPEND);
break;
}
/*
* Swap the substitute space and the pattern space, and make sure
* that any leftover pointers into stdio memory get lost.
*/
tspace = PS;
PS = SS;
SS = tspace;
SS.space = SS.back;
/* Handle the 'p' flag. */
if (cp->u.s->p)
OUT(ps)
/* Handle the 'w' flag. */
if (cp->u.s->wfile && !pd) {
if (cp->u.s->wfd == -1 && (cp->u.s->wfd = open(cp->u.s->wfile,
O_WRONLY|O_APPEND|O_CREAT|O_TRUNC, DEFFILEMODE)) == -1)
err(1, "%s", cp->u.s->wfile);
if (write(cp->u.s->wfd, ps, psl) != psl ||
write(cp->u.s->wfd, "\n", 1) != 1)
err(1, "%s", cp->u.s->wfile);
}
return (1);
}
/*
* Flush append requests. Always called before reading a line,
* therefore it also resets the substitution done (sdone) flag.
*/
static void
flush_appends()
{
FILE *f;
int count, i;
char buf[8 * 1024];
for (i = 0; i < appendx; i++)
switch (appends[i].type) {
case AP_STRING:
fwrite(appends[i].s, sizeof(char), appends[i].len,
stdout);
break;
case AP_FILE:
/*
* Read files probably shouldn't be cached. Since
* it's not an error to read a non-existent file,
* it's possible that another program is interacting
* with the sed script through the filesystem. It
* would be truly bizarre, but possible. It's probably
* not that big a performance win, anyhow.
*/
if ((f = fopen(appends[i].s, "r")) == NULL)
break;
while ((count = fread(buf, sizeof(char), sizeof(buf), f)))
(void)fwrite(buf, sizeof(char), count, stdout);
(void)fclose(f);
break;
}
if (ferror(stdout))
errx(1, "stdout: %s", strerror(errno ? errno : EIO));
appendx = sdone = 0;
}
static void
lputs(s)
char *s;
{
int count;
const char *escapes;
char *p;
struct winsize win;
static int termwidth = -1;
if (termwidth == -1) {
if ((p = getenv("COLUMNS")) && *p != '\0')
termwidth = atoi(p);
else if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &win) == 0 &&
win.ws_col > 0)
termwidth = win.ws_col;
else
termwidth = 60;
}
for (count = 0; *s; ++s) {
if (count + 5 >= termwidth) {
(void)printf("\\\n");
count = 0;
}
if (isprint((unsigned char)*s) && *s != '\\') {
(void)putchar(*s);
count++;
} else if (*s == '\n') {
(void)putchar('$');
(void)putchar('\n');
count = 0;
} else {
escapes = "\\\a\b\f\r\t\v";
(void)putchar('\\');
if ((p = strchr(escapes, *s))) {
(void)putchar("\\abfrtv"[p - escapes]);
count += 2;
} else {
(void)printf("%03o", *(u_char *)s);
count += 4;
}
}
}
(void)putchar('$');
(void)putchar('\n');
if (ferror(stdout))
errx(1, "stdout: %s", strerror(errno ? errno : EIO));
}
static __inline int
regexec_e(preg, string, eflags, nomatch, slen)
regex_t *preg;
const char *string;
int eflags, nomatch;
size_t slen;
{
int eval;
if (preg == NULL) {
if (defpreg == NULL)
errx(1, "first RE may not be empty");
} else
defpreg = preg;
/* Set anchors */
match[0].rm_so = 0;
match[0].rm_eo = slen;
eval = regexec(defpreg, string,
nomatch ? 0 : maxnsub + 1, match, eflags | REG_STARTEND);
switch(eval) {
case 0:
return (1);
case REG_NOMATCH:
return (0);
}
errx(1, "RE error: %s", strregerror(eval, defpreg));
/* NOTREACHED */
}
/*
* regsub - perform substitutions after a regexp match
* Based on a routine by Henry Spencer
*/
static void
regsub(sp, string, src)
SPACE *sp;
char *string, *src;
{
int len, no;
char c, *dst;
#define NEEDSP(reqlen) \
if (sp->len >= sp->blen - (reqlen) - 1) { \
sp->blen += (reqlen) + 1024; \
if ((sp->space = sp->back = realloc(sp->back, sp->blen)) \
== NULL) \
err(1, "realloc"); \
dst = sp->space + sp->len; \
}
dst = sp->space + sp->len;
while ((c = *src++) != '\0') {
if (c == '&')
no = 0;
else if (c == '\\' && isdigit((unsigned char)*src))
no = *src++ - '0';
else
no = -1;
if (no < 0) { /* Ordinary character. */
if (c == '\\' && (*src == '\\' || *src == '&'))
c = *src++;
NEEDSP(1);
*dst++ = c;
++sp->len;
} else if (match[no].rm_so != -1 && match[no].rm_eo != -1) {
len = match[no].rm_eo - match[no].rm_so;
NEEDSP(len);
memmove(dst, string + match[no].rm_so, len);
dst += len;
sp->len += len;
}
}
NEEDSP(1);
*dst = '\0';
}
/*
* aspace --
* Append the source space to the destination space, allocating new
* space as necessary.
*/
void
cspace(sp, p, len, spflag)
SPACE *sp;
const char *p;
size_t len;
enum e_spflag spflag;
{
size_t tlen;
/* Make sure SPACE has enough memory and ramp up quickly. */
tlen = sp->len + len + 1;
if (tlen > sp->blen) {
sp->blen = tlen + 1024;
if ((sp->space = sp->back = realloc(sp->back, sp->blen)) ==
NULL)
err(1, "realloc");
}
if (spflag == REPLACE)
sp->len = 0;
memmove(sp->space + sp->len, p, len);
sp->space[sp->len += len] = '\0';
}
/*
* Close all cached opened files and report any errors
*/
void
cfclose(cp, end)
struct s_command *cp, *end;
{
for (; cp != end; cp = cp->next)
switch(cp->code) {
case 's':
if (cp->u.s->wfd != -1 && close(cp->u.s->wfd))
err(1, "%s", cp->u.s->wfile);
cp->u.s->wfd = -1;
break;
case 'w':
if (cp->u.fd != -1 && close(cp->u.fd))
err(1, "%s", cp->t);
cp->u.fd = -1;
break;
case '{':
cfclose(cp->u.c, cp->next);
break;
}
}

View File

@@ -1,75 +0,0 @@
# New ports collection makefile for: XML for Java
# Date created: 21 Feb 2000
# Whom: Jun Kuriyama <kuriyama@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= xml4j
PORTVERSION= 4.3.0
CATEGORIES= textproc
MASTER_SITES= http://dl.alphaworks.ibm.com/technologies/xml4j/
DISTNAME= XML4J-bin.${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= XML for Java parser
DEPRECATED= it has been replaced by textproc/xerces-j 8 years ago
EXPIRATION_DATE=2006-07-01
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/./_/g}
USE_JAVA= yes
JAVA_VERSION= 1.2+
NO_BUILD= YES
DATADIR= ${JAVASHAREDIR}/${PORTNAME}
CONFLICTS= xerces-j-2.*
SAMPLES= dom sax simpletype socket ui xni xs
JARFILES= resolver.jar xercesImpl.jar xercesSamples.jar xml-apis.jar xmlParserAPIs.jar
DATAFILES= personal-schema.xml personal.dtd personal.xml personal.xsd
.if !defined(NOPORTDOCS)
PORTDOCS= *.html graphics images javadocs resources
.endif
PLIST_FILES= ${JARFILES:S,^,%%JAVAJARDIR%%/,} \
${DATAFILES:S,^,%%DATADIR%%/,}
PLIST_DIRS= %%DATADIR%%
do-install:
@${MKDIR} ${JAVAJARDIR}
@${ECHO_MSG} -n ">> Installing JAR in ${JAVAJARDIR}..."
@cd ${WRKSRC} && \
${INSTALL_DATA} ${JARFILES} ${JAVAJARDIR}/
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Installing data in ${DATADIR}..."
@${MKDIR} ${DATADIR}
@cd ${WRKSRC}/data && \
${INSTALL_DATA} ${DATAFILES} ${DATADIR}/
@${ECHO_MSG} " [ DONE ]"
.if !defined(NOPORTDOCS)
@${ECHO_MSG} -n ">> Installing documentation in ${DOCSDIR}..."
@${MKDIR} ${DOCSDIR}
@cd ${WRKSRC}/docs && \
${FIND} ${PORTDOCS} -type d -exec ${MKDIR} ${DOCSDIR}/{} \;
@cd ${WRKSRC}/docs && \
${FIND} ${PORTDOCS} -type f -exec ${INSTALL_DATA} {} ${DOCSDIR}/{} \;
@${ECHO_MSG} " [ DONE ]"
@${ECHO_MSG} -n ">> Installing samples in ${EXAMPLESDIR}..."
@${MKDIR} ${EXAMPLESDIR}
@cd ${WRKSRC}/samples && \
${FIND} ${SAMPLES} -type d -exec ${MKDIR} ${EXAMPLESDIR}/{} \;
@cd ${WRKSRC}/samples && \
${FIND} ${SAMPLES} -type f -exec ${INSTALL_DATA} {} ${EXAMPLESDIR}/{} \;
@${ECHO_MSG} " [ DONE ]"
.endif
.if !defined(NOPORTDOCS)
post-install:
@${FIND} -s ${WRKSRC}/samples -not -type d | \
${SED} -ne 's,^${WRKSRC}/samples,${EXAMPLESDIR:S,${PREFIX}/,,},p' >> ${TMPPLIST}
@${FIND} -s -d ${WRKSRC}/samples -type d | \
${SED} -ne 's,^${WRKSRC}/samples,@dirrm ${EXAMPLESDIR:S,${PREFIX}/,,},p' >> ${TMPPLIST}
.endif
.include <bsd.port.mk>

View File

@@ -1,3 +0,0 @@
MD5 (XML4J-bin.4.3.0.tar.gz) = 7057f645a03ad6500c07f11ddb62820a
SHA256 (XML4J-bin.4.3.0.tar.gz) = 6fbb28c1966b69bad21efba2696533b80262e1d8718ec953741d9ee71600a20c
SIZE (XML4J-bin.4.3.0.tar.gz) = 4302876

View File

@@ -1,24 +0,0 @@
XML Parser for Java is a validating XML parser and processor written in 100%
pure Java. It is a library for parsing and generating XML documents. This
parser easily enables an application to read and write XML data. Version 4.3.0
and above incorporate support for the following:
- Extensible Markup Language (XML) 1.0, Third Edition Recommendation
- Namespaces in XML Recommendation
- Extensible Markup Language (XML) 1.1 Recommendation, excluding support for
normalization checking
- Namespaces in XML 1.1 Recommendation
- Experimental implementation of XML Inclusions (XInclude) 1.0 Working Draft
(November 2003) in Last Call, excluding support for XPointer
- W3C XML Schema 1.0 Structures and Datatypes Recommendations
- OASIS XML Catalogs
- SAX 1.0 and 2.0.1
- DOM Level 1, DOM Level 2, and an experimental implementation of the DOM Level
3 Core and Load/Save Proposed Recommendations
- JAXP 1.2
- The XML Schema API, which provides access to the post-schema validation
"infoset" (PSVI)
- Use of the "Xerces Native Interface" API throughout the product, allowing
unprecedented customizing.
WWW: http://www.alphaworks.ibm.com/tech/xml4j/

View File

@@ -5,7 +5,6 @@
SUBDIR += 9wm
SUBDIR += aewm
SUBDIR += aewm++
SUBDIR += afterstep
SUBDIR += afterstep-i18n
SUBDIR += afterstep-stable

View File

@@ -1,30 +0,0 @@
# ex:ts=8
# Ports collection makefile for: aewm++
# Date created: Jan 17, 2002
# Whom: ijliao
#
# $FreeBSD$
#
PORTNAME= aewm++
PORTVERSION= 1.1.5
CATEGORIES= x11-wm
MASTER_SITES= http://frankhale.org/
MAINTAINER= ports@FreeBSD.org
COMMENT= The C++ version of aewm
DEPRECATED= The project is dead, a fork exists: xaewm
EXPIRATION_DATE=2006-07-01
USE_X_PREFIX= yes
USE_GMAKE= yes
MAKE_ARGS= CC="${CXX}" CFLAGS="${CXXFLAGS}" \
ADDITIONAL_CFLAGS="" prefix="${PREFIX}" \
INCLUDES="-I${X11BASE}/include" LIBPATH="-L${X11BASE}/lib"
PLIST_FILES= bin/aewm++
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
.include <bsd.port.mk>

View File

@@ -1,3 +0,0 @@
MD5 (aewm++-1.1.5.tar.gz) = e8cfe22c92f2f81e697d2cdd053c2fd2
SHA256 (aewm++-1.1.5.tar.gz) = 10603da6e6ef1e2c8377dce03117fed3270a7fe87accbfe54461b80e5371ea36
SIZE (aewm++-1.1.5.tar.gz) = 24553

View File

@@ -1 +0,0 @@
The C++ version of aewm.