Im trying to install this into a SLES 10 server, and im getting an error
when i run the sus101-deps.sh it starts up yast, then says following
packages havent been found on the medium:

perl-Time-modules
perl-MIME-Types
perl-HTML-Tree
perl-CGI-Application
SDL-perl
lynx
krpmbuilder
build

These arent anywhere on the cds.

Any ideas?



On Wed, 2006-07-12 at 17:29 +0200, Weberhofer GmbH wrote:
> Hello!
> 
> After a while, I have finally found out what made problems while the 
> compilation of the toaster packages in the different SuSE releases. Now all 
> toaster packages can be build for the above mentioned distributions. I have 
> compiled versions for 9.3-i586 10.0-i586 10.0-x86_64 10.1-i586 10.1-x86_64. I 
> think, it should also compile on SE distributions.
> 
> As usual, I always compile the packages in build environments. Therefore I 
> had to modify the spec-files as explained here:
> 
> --------------------------------------------
> => libdomainkeys-toaster
> I changed the text 'ripMIME for qmail-toaster' to 'DomainKey library'. 
> This is only a cosmetic thing and not important for compiling
> 
> --------------------------------------------
> => vpopmail-toaster
> Requires: All SuSE releases need "pwdutils", to ensure, that the users and 
> groups 
> can be added before building
> 
> --------------------------------------------
> => qmail-toaster
> BuildRequires: All SuSE releases need "mysql-devel"
> Requires: All SuSE releases need "pwdutils", to ensure, that the users and 
> groups 
> can be added before building
> 
> --------------------------------------------
> => courier-authlib-toaster
> BuildRequires: "vpopmail-toaster, gcc-c++, libstdc++-devel, expect, 
> mysql-shared, mysql-devel"
> 
> --------------------------------------------
> => courier-imap-toaster
> BuildRequires: All SuSE releases need "gcc-c++, libstdc++-devel, mysql-devel"
> "fileutils" and "textutils" should be moved to the distribution specific 
> [Build]Requires 
> sections because they are not available in SuSE.
> 
> --------------------------------------------
> => control-panel-toaster
> The version information for PHP is not good. It is better to refer to PHP in 
> general and query the information number of PHP. There is no need to restrict 
> to PHP5 for example. Is there any specific reason why to request a specific 
> Apache version?
> 
> --------------------------------------------
> => qmailmrtg-toaster
> BuildRequires: All SuSE releases need "mrtg"
> The PHP/Apache version information had to be changed (see 
> "control-panel-toaster")
> 
> --------------------------------------------
> => maildrop-toaster
> BuildRequires: "gcc-c++, libstdc++-devel, pcre, pcre-devel, openldap2-client, 
> mrtg, net-tools, openssl, cyrus-sasl, vpopmail-toaster, qmail-toaster"
> 
> --------------------------------------------
> => isoqlog-toaster ??????????????
>                               #PKSUSE100='php5'
>                               #PKSUSE101='php'
>                               ;;
> --------------------------------------------
> => squirrelmail-toaster
> The PHP/Apache version information had to be changed (see 
> "control-panel-toaster")
> 
> --------------------------------------------
> => spamassassin-toaster
> BuildRequires: 
>       Replaced the line "perl >= 5.8.7, perl(Digest::SHA1), 
> perl(HTML::Parser), openssl-devel"
>       with "tperl >= 5.8.7, perl-Digest-SHA1, perl-HTML-Parser, openssl-devel"
> Requires: 
>       Replaced the line "perl(Digest::SHA1), perl(HTML::Parser), 
> perl(Pod::Usage), procmail"
>       with "tperl-Digest-SHA1, perl-HTML-Parser, procmail"
> 
> --------------------------------------------
> =>clamav-toaster
> Requires: All SuSE releases need "pwdutils", to ensure, that the users and 
> groups 
> can be added before building
> In the %post section 
> the line "/sbin/service freshclam start > /dev/null 2>&1"
> has been replaced by
> "
> if test %{build_sus_100} -eq 0 -a %{build_sus_10064} -eq 0; then
>   /sbin/service freshclam start > /dev/null 2>&1
> fi
> "
> because /sbin/service is not available at SuSE distributions before 10.1. 
> 
> --------------------------------------------
> =>simscan-toaster
> BuildRequires: perl-Digest-SHA1, perl-HTML-Parser, clamav-toaster, 
> spamassassin-toaster, ucspi-tcp-toaster
> 
> --------------------------------------------
> =>djbdns
> BuildRequires: 
> the line "chkconfig, initscripts, sh-utils, daemontools-toaster, 
> ucspi-tcp-toaster"
> 
> has been replaced by, because some of the packages are not available there. I 
> suggest to move those packages to the relevant sections of the distributions.
> 
> "sh-utils, daemontools-toaster, ucspi-tcp-toaster"
> 
> before the line "# create log symlinks"
> the following lines have been inserted, to allow the rpm-packager to find 
> some symlinks:
> 
> # touch logs
> pushd %{buildroot}/var/djbdns
> mkdir -p dnscachex/log dnscache/log tinydns/log axfrdns/log
> touch dnscachex/log/main dnscache/log/main tinydns/log/main axfrdns/log/main
> popd
> 
> 
> --------------------------------------------
> Unfortunately SuSE seems to ignore the BuildPreReq lines. Therefore all 
> BuildPreReq lines have been renamed to BuildRequires. The statements are 
> identical, as said in 
> http://www.redhat.com/archives/rpm-list/2003-June/msg00088.html.
> 
> I suggest to do that for all spec files, to reduce the work for the SuSE 
> maintainers.
> 
> --------------------------------------------
> A SuSE <=10.0 specific problem is, that _ALL_ BuildRequires are processed, 
> even when excluded by an %if statement. The only solution is, to remove all 
> other distribution sections to make it compile nicely.
> 
> For SuSE <=10.0 it is also neccesary to define a BuildRequires statement 
> which contains some default packages. Otherwise it does not compile most 
> packages:
> 
> BuildRequires: aaa_base, acl, attr, bash, bind-utils, bison, bzip2, 
> coreutils, cpio, cpp, cracklib, cvs, cyrus-sasl, db, devs, diffutils, 
> e2fsprogs, file, filesystem, fillup, findutils, flex, gawk, gdbm-devel, 
> glibc, glibc-devel, glibc-locale, gpm, grep, groff, gzip, info, insserv, 
> klogd, less, libacl, libattr, libgcc, libnscd, libselinux, libstdc++, 
> libxcrypt, libzio, m4, make, man, mktemp, module-init-tools, ncurses, 
> ncurses-devel, net-tools, netcfg, openldap2-client, openssl, pam, 
> pam-modules, patch, permissions, popt, procinfo, procps, psmisc, pwdutils, 
> rcs, readline, sed, strace, syslogd, sysvinit, tar, tcpd, texinfo, timezone, 
> unzip, util-linux, vim, zlib, zlib-devel, autoconf, automake, binutils, gcc, 
> gdbm, gettext, libtool, perl, rpm, net-tools, openssl, cyrus-sasl, 
> zlib-devel, pwdutils
> 
> SuSE <=10.0 does not like "," signs within BuildRequires sections. All those 
> must to be removed before building.
> 
> And then, another nice thing, SuSE does not like version information in the 
> BuildRequires sections. Those information must be removed, too. 
> 
> I suggest to check if the version information in (Build)Requires sections are 
> important: It seems, that it sometimes is there just to have something there: 
> For example the web-applications does not really need a specific version 
> while translating or running them. It would make maintenance much easier to 
> remove those unnecessary information.
> 
> --------------------------------------------
> 
> To automate the build process, I have attached a script-file which is working 
> on the above mentioned SuSE versions. Build can be done as follows:
> 
> 1) Download the SRPM files
> 
> 2) copy the attached file to the same directory
> 
> 3) ensure, that the BUILD_RPMS variable points to an installation repository 
> for the current SuSE version
> 
> 4) run current-opensuse-build.sh. Use --help to read some information
> 
> As mentioned, I can compile all packages with SuSE 9.3 - OpenSuSE 10.1. I 
> have not tested with SE, but I think it should run, too.
> 
> While processing the packages, diff files are generated which reflect the 
> changes done by the script. Some SuSE <=10.0 specific changes are NOT 
> reflected in the diff-file, because they would break other distributions 
> functionality. Setting "dryrun" to 1 in the script would do everything except 
> the build process. This could be used to generate the diff-files only.
> 
> --------------------------------------------
> 
> 
> If you have any suggestions/questions/ideas, please send a mail.
> 
> Best regards,
> Johannes
> 
> plain text document attachment (current-opensuse-build.sh)
> #!/bin/sh
> #
> # build the system for SuSE 9.3 - OpenSuSE 10.1 systems
> #
> # author: Johannes Weberhofer, May - July 2006
> # licensed under the GPL
> #
> 
> # ####################################################################
> # modify settings here
> # please ensure, that the BUILD_RPMS environment variable is set to a
> # valid (Open)SuSE installation repository
> 
> # This variable should be set to a directory where all (S)RPMs will be
> # copied to
> QMAILRPM=`dirname ~/qmailrpm`/`basename ~/qmailrpm`
> 
> # no changes should be done below this point
> # ####################################################################
> 
> if test $# -eq 1 -a "$1" != "--help" ; then
>       ARCH=$1
> fi
> 
> if test -z "$ARCH" ; then
>       ARCH=`grep '(' /etc/SuSE-release | sed -e 's/[^(]*(// ; s/)// ; s/\-/_/ 
> ; s/X/x/ '`
> fi
> 
> 
> # check parameters
> if test $# -gt 1 -o "$1" == "--help" ; then
>       echo "usage: `basename $0` [i586|x86_64]"
>       echo ""
>       echo "Default architecture for your system is: $ARCH"
>       echo "Please do not forget to set 'BUILD_RPMS' to a valid (Open)SuSE 
> installation repository. "
>       echo "Currently it is set to: $BUILD_RPMS"
>       echo ""
>       echo "Before starting the build process, download the SRPMs to the 
> current directory"
>       echo ""
>       echo "The resulting (S)RPMs will be copied to $QMAILRPM"
>       echo "If you like to set another directory, please edit `basename $0`"
>       echo "------------"
>       echo "(c) Johannes Weberhofer <[EMAIL PROTECTED]>, May - July 2006, 
> Version 1.0"
>       echo "    licensed under the GPL"
>       echo "------------"
>       exit 1
> fi
> 
> 
> # here are the default SuSE RPM's located
> DEFAULTRPM="$BUILD_RPMS"
> 
> DRYRUN=0
> 
> SUSERELEASE=`grep VERSION /etc/SuSE-release | sed 's/VERSION = //'`
> 
> if test "$ARCH" == "i586" ; then
>       TOASTERTYPE=''
>       TOASTERARCH=''
> else
>       TOASTERTYPE='64'
>       TOASTERARCH=' x86_64'
> fi
> SUSETOASTERRELEASE=`echo "$SUSERELEASE" | tr -d '.'`
> 
> if test $SUSETOASTERRELEASE -lt 101 ; then
>       SUSETOASTERRELEASE=100
> fi
> 
> if test ! -d "$QMAILRPM/SuSE-$SUSERELEASE" ; then
>       mkdir -p "$QMAILRPM/SuSE-$SUSERELEASE"
> fi
> 
> 
> # ####################################################################
> # and now build the packages
> 
> BUILDPKGS="daemontools-toaster ucspi-tcp-toaster vpopmail-toaster 
> libdomainkeys qmail-toaster courier-authlib-toaster courier-imap-toaster 
> autorespond-toaster control-panel-toaster ezmlm-toaster qmailadmin-toaster 
> qmailmrtg-toaster maildrop-toaster isoqlog-toaster vqadmin-toaster 
> squirrelmail-toaster spamassassin-toaster clamav-toaster ripmime-toaster 
> simscan-toaster djbdns"
> 
> for PACKAGE in $BUILDPKGS ; do
>       DIR=`ls $PACKAGE-*.src.rpm | tail -n1 | sed -e 's/.src.rpm//'`
>       if test ! -e "$QMAILRPM/SuSE-$SUSERELEASE/RPMS/$ARCH/$DIR.$ARCH.rpm" -a 
> ! -e "$QMAILRPM/SuSE-$SUSERELEASE/RPMS/noarch/$DIR.noarch.rpm"; then
>               echo
>               echo -e "\033[40m\033[001;031mPackage     : 
> \033[40m\033[001;033m$PACKAGE\033[0m"
>               echo -e "\033[40m\033[001;031mBuilding for: 
> \033[40m\033[001;033mSuSE $SUSERELEASE\033[0m"
>               echo -e "\033[40m\033[001;031mArchitecture: 
> \033[40m\033[001;033m$ARCH\033[0m"
>               echo
>               if test ! -d "$DIR" ; then
>                       mkdir "$DIR"
>               else
>                       rm -rf "$DIR/*"
>               fi
>               pushd "$DIR" 2>&1 > /dev/null
>               unrpm "../$DIR.src.rpm" 2>&1 > /dev/null
> 
>               # do some package-related things
>               PKSUSE100=''
>               PKSUSE101=$PKSUSE100
>               case "$PACKAGE" in
>                       libdomainkeys-toaster)
>                               SEDS='s/ripMIME for qmail-toaster/DomainKey 
> library/'
>                               ;;
>                       vpopmail-toaster)
>                               SEDS='s/^\(%define.*ostype SuSE 
> *10\.[0-9].*Linux\)/\1\nRequires:\tpwdutils/'
>                               ;;
>                       qmail-toaster)
>                               SEDS='s/^\(%define.*ostype SuSE 
> *10\.[0-9].*Linux\)/\1\nRequires:\tpwdutils/'
>                               PKSUSE100='mysql-devel'
>                               PKSUSE101=$PKSUSE100
>                               ;;
>                       courier-authlib-toaster)
>                               PKSUSE100='vpopmail-toaster, gcc-c++, 
> libstdc++-devel, expect, mysql-shared, mysql-devel'
>                               PKSUSE101=$PKSUSE100
>                               ;;
>                       courier-imap-toaster)
>                               PKSUSE100='gcc-c++, libstdc++-devel, 
> mysql-devel'
>                               SEDS='/^BuildRequires:/ s/fileutils// ; 
> /^Requires:/ s/fileutils// ; /^BuildRequires:/ s/textutils// ; /^Requires:/ 
> s/textutils//'
>                               PKSUSE101=$PKSUSE100
>                               ;;
>                       control-panel-toaster)
>                               PKSUSE100='apache, libapr0, expat'
>                               PKSUSE101='apache2, libapr1, expat'
>                               SEDS='s/^\(Requires:.*apache2 >= 2.0.52, php5 
> >= [0-9\.]*\)/Requires:\tapache2 >= 2.0.52, php >= 
> 4.4.0\nBuildRequires:\tapache2, libapr-util1/ ; s/^\(Requires:.*apache2 >= 
> 2.0.52, php4 >= [0-9\.]*\)/Requires:\tapache2 >= 2.0.52, php >= 4.4.0/'
>                               ;;
>                       qmailmrtg-toaster)
>                               PKSUSE100='mrtg'
>                               PKSUSE101=$PKSUSE100
>                               SEDS='s/^\(Requires:.*cron >= 4.1, apache2 >= 
> 2.0.54, php4 >= 4.4.0, mrtg\)/Requires:\tcron >= 4.1, apache2 >= 2.0.54, php 
> >= 4.4.0/'
>                               ;;
>                       maildrop-toaster)
>                               PKSUSE100='gcc-c++, libstdc++-devel, pcre, 
> pcre-devel, openldap2-client, mrtg, net-tools, openssl, cyrus-sasl, 
> vpopmail-toaster, qmail-toaster'
>                               PKSUSE101=$PKSUSE100
>                               ;;
>                       isoqlog-toaster)
>                               #PKSUSE100='php5'
>                               #PKSUSE101='php'
>                               ;;
>                       squirrelmail-toaster)
>                               SEDS='s/^\(Requires:.*apache2 >= 2.0.54, php4 
> >= 4.4.0\)/Requires:\tapache2 >= 2.0.54, php >= 4.4.0/'
>                               ;;
>                       spamassassin-toaster)
>                               SEDS='s/^\(BuildRequires:.*perl >= 5.8.7, 
> perl(Digest::SHA1), perl(HTML::Parser), openssl-devel\)/BuildRequires:\tperl 
> >= 5.8.7, perl-Digest-SHA1, perl-HTML-Parser, openssl-devel/ ; 
> s/^\(Requires:.*perl(Digest::SHA1), perl(HTML::Parser), perl(Pod::Usage), 
> procmail\)/Requires:\tperl-Digest-SHA1, perl-HTML-Parser, procmail/'
>                               ;;
>                       clamav-toaster)
>                               PKSUSE100='qmail-toaster'
>                               PKSUSE101=$PKSUSE100
>                               SEDS='s/^\(%define.*ostype SuSE 
> *10\.[0-9].*Linux\)/\1\nRequires:\tpwdutils/ ;
>                               s/^\(\/sbin\/service freshclam start.*\)/if 
> test %{build_sus_100} -eq 0 -a %{build_sus_10064} -eq 0; then\n  \1\nfi/'
>                               ;;
>                       simscan-toaster)
>                               PKSUSE100='perl-Digest-SHA1, perl-HTML-Parser, 
> clamav-toaster, spamassassin-toaster, ucspi-tcp-toaster'
>                               PKSUSE101=$PKSUSE100
>                               ;;
>                       djbdns)
>                               SEDS='
> s/chkconfig, initscripts, sh-utils, daemontools-toaster, 
> ucspi-tcp-toaster/daemontools-toaster, ucspi-tcp-toaster/ ;
> 
> s/\(Buildprereq:      shadow-utils\)/#\1/
> 
> s/^\(# create log symlinks\)$/# touch logs\npushd 
> %{buildroot}\/var\/djbdns\nmkdir -p dnscachex\/log dnscache\/log tinydns\/log 
> axfrdns\/log\ntouch dnscachex\/log\/main dnscache\/log\/main 
> tinydns\/log\/main axfrdns\/log\/main\npopd\n\n\1/ ;
> s/^\(\/var\/log\/djbdns\/axfrdns\)$/\1\n%config(noreplace)\/var\/djbdns\/tinydns\/log\/main\n%config(noreplace)\/var\/djbdns\/axfrdns\/log\/main/
>  ;
> s/^\(\/var\/log\/djbdns\/dnscachex\)$/\1\n%config(noreplace)\/var\/djbdns\/dnscachex\/log\/main/
>  ;
> s/^\(\/var\/log\/djbdns\/dnscache\)$/\1\n%config(noreplace)\/var\/djbdns\/dnscache\/log\/main/'
>                               ;;
>               esac
>               SPECFILE=`ls *.spec | tail -n1`
> 
>               # SuSE seems to ignore the BuildPreReq lines.
>               # Therefore all BuildPreReq lines are renamed to BuildRequires
>               # The statements are identical, as said in
>               # 
> http://www.redhat.com/archives/rpm-list/2003-June/msg00088.html
>               #
>               sed -i.orig -e 's/^BuildPreReq:/BuildRequires:/' $SPECFILE
> 
>               # now do some changes for the suse distributions
>               if test -n "$SEDS" ; then
>                       sed -i -e "$SEDS" $SPECFILE
>               fi
>               if test -n "$PKSUSE100" ; then
>                       sed -i -e "s/^\(%define.*ostype SuSE 
> *10\.0.*Linux\)/\1\nBuildRequires:\t$PKSUSE100/" $SPECFILE
>               fi
>               if test -n "$PKSUSE101" ; then
>                       sed -i -e "s/^\(%define.*ostype SuSE 
> *10\.1.*Linux\)/\1\nBuildRequires:\t$PKSUSE101/" $SPECFILE
>               fi
> 
>               # SuSE before 10.1 did not include all packages to build the 
> toaster
>               # packaged properly. Therefore they should be included for SuSE 
> 10.0
>               # distributions.
>               sed -i -e 's/^\(%define.*ostype SuSE 
> *10\.0.*Linux\)/\1\nBuildRequires:\taaa_base, acl, attr, bash, bind-utils, 
> bison, bzip2, coreutils, cpio, cpp, cracklib, cvs, cyrus-sasl, db, devs, 
> diffutils, e2fsprogs, file, filesystem, fillup, findutils, flex, gawk, 
> gdbm-devel, glibc, glibc-devel, glibc-locale, gpm, grep, groff, gzip, info, 
> insserv, klogd, less, libacl, libattr, libgcc, libnscd, libselinux, 
> libstdc++, libxcrypt, libzio, m4, make, man, mktemp, module-init-tools, 
> ncurses, ncurses-devel, net-tools, netcfg, openldap2-client, openssl, pam, 
> pam-modules, patch, permissions, popt, procinfo, procps, psmisc, pwdutils, 
> rcs, readline, sed, strace, syslogd, sysvinit, tar, tcpd, texinfo, timezone, 
> unzip, util-linux, vim, zlib, zlib-devel, autoconf, automake, binutils, gcc, 
> gdbm, gettext, libtool, perl, rpm, net-tools, openssl, cyrus-sasl, 
> zlib-devel, pwdutils/' $SPECFILE
> 
>               diff -u $SPECFILE.orig $SPECFILE > ../$PACKAGE.diff
> 
>               sed -i -e 
> 's/\(^%define.*build_sus_'$SUSETOASTERRELEASE$TOASTERTYPE' [^0]*\)\(0$\)/\1 
> 1/' $SPECFILE
> 
>               # for SuSE < 10.1 all occurences of "BuildRequires" are 
> interpreted, even when excluded by
>               # %if...%endif sections. "BuildRequires" does additionally NOT 
> accept version information.
>               # SuSE < 10.1 ignores the "BuildPreReq" sections, so all it's 
> information must be copied to
>               # "BuildRequires"
> 
>               # begin speciallity for Suse < 10.1
>               if test $SUSETOASTERRELEASE -lt 101 ; then
>                       # backup the full spec files
>                       cp $SPECFILE complete-$SPECFILE
>                       # read the required distibution statements
>                       DISTSTATEMENT=`sed -n -e "/^%if 
> %{build_sus_$SUSETOASTERRELEASE$TOASTERTYPE}$/,/^%endif/p " $SPECFILE`
> 
>                       # remove all distibution statements
>                       sed -i -e '/^%if %{build_[a-z]*_[0-9]*}$/,/^%endif/d' 
> $SPECFILE
>                       sed -i -e '/^%if %{default}$/,/^%endif/d' $SPECFILE
> 
>                       # split up and insert the current distributions 
> statement on the proper position
>                       csplit --quiet $SPECFILE "/# Distro Statements/+1"
> 
>                       cat xx00 > $SPECFILE
>                       echo -e "$DISTSTATEMENT" >> $SPECFILE
>                       cat xx01 | sed -e '/./,$!d ; /^BuildRequires/ 
> s/\(BuildRequires:\)\([a-z]\)/\1\t\2/' >> $SPECFILE
>                       rm xx00 xx01
> 
>                       # re-format BuildRequires statements for the whole 
> package (not for the distibution)
>                       sed -i -e '/^BuildRequires/ s/[<>=]\+ [0-9\.\-]\+//g ; 
> /^BuildRequires/ s/,/ /g ; /^BuildRequires/ s/[ ]+/ /g ; /^BuildRequires/ s/ 
> [ ]*/ /g' $SPECFILE
> 
>               fi
>               # end speciallity for Suse < 10.1
> 
>               if test $DRYRUN -ne 1 ; then
>                       build $SPECFILE --clean --arch=$ARCH \
>                               --rpms 
> $DEFAULTRPM/:$QMAILRPM/SuSE-$SUSERELEASE/RPMS/$ARCH:$QMAILRPM/SuSE-$SUSERELEASE/RPMS/noarch
>                       if test $? -ne 0 ; then
>                               exit 1
>                       fi
> 
>                       cp -a /var/tmp/build-root/usr/src/packages/* 
> "$QMAILRPM/SuSE-$SUSERELEASE/"
> 
>                       popd 2>&1 > /dev/null
>                       rm -rf "$DIR"
>               else
>                       popd 2>&1 > /dev/null
>               fi
>       fi
> done
> 
> if test -e all-toaster-opensuse.diff ; then
>       rm all-toaster-opensuse.diff
> fi
> cat *.diff > all-toaster-opensuse.diff
> 
> ---------------------------------------------------------------------
>      QmailToaster hosted by: VR Hosted <http://www.vr.org>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
     QmailToaster hosted by: VR Hosted <http://www.vr.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to