;
;----------------------------------------------------------------------------
;
; LS-FTPD - Installer script by Stéphane DUDEZ <sdudez@pcmedia.fr>
; revision by JFP!
;----------------------------------------------------------------------------
;
; $VER: Installer script v1.3 for LS-FTPD (11.11.96) © Stéphane DUDEZ
;
;

(set _Version  1)
(set _Revision 3)
(set _Date "11.11.1996")

;*********************
;*   English script  *
;*********************
(if (= @language "english")
  (
    (set default_lang 1)

    (set #presentation
      (CAT "\n\ Welcome to the LS-ftpd install script.\n"
           "\n This script installs LS-FTPD on your Amiga.\n"
           "\n For more informations for LS-ftpd distribution\n"
           "\n please read the 'Readme' file.\n\n"
           "\n LS-FTPD © 1996 by Jean-françois PIK,LOLOSoft 1996."
           "\n\ All Rights reserved."
      )
    )
    (set #askoverwrite "\n\n\n\nYou already have LS-ftpd V")
    (set #askdirdoc    "Where do you want to install the documentation?")
    (set #askmcc       "Install MUI sub-libraries")

    (set #DInstalle1 "\n\n\n\nYou already have Date.mcc V")
    (set #DInstalle2 (cat " installed "
                                 ".\n\nDo you want to copy Date.mcc V"))
    (set #DInstalle3 "?\n")
    (set #DInstalle4 (cat " installed "
                                 ".\nDo you wan to copy ls-ftpd V"))

    (set #asklibs      "Install ls-ftpd.library")
    (set #LIBInstalle1 "\n\n\n\nYou already have ls-ftpd.library V")
    (set #LIBInstalle2 (cat " installed "
                                 ".\n\nDo you want to copy ls-ftpd.library V"))
    (set #YES          "Yes")
    (set #NO           "No")
    (set #LIBInstalle3 "?\n")
    (set #application-name "LS-FTPD")
    (set #bad-installer
    (cat "You have an old version of 'Installer' program"
         "on your amiga!/n/nThe installation needs version 42.9./n/n"
         "/nCheck your configuration"))
    (set #kick ("\n'LS-FTPD needs at least Kickstart version 39 or greater to works."))
    (set #muiversion "LS-FTPD need at least MUI 3.1 to work.\n" )
    (set #askdir "Choose where LS-FTPD dir have to be created.\n" )
    (set #askdir-help "By default LS-FTPD will be placed in AmiTCP:" )
    (set #askfile-ls "Choose where LS-ftpd daemon must be placed.\n" )
    (set #askfile-help-ls "By default, the 'ls-ftpd' file will be copied in Amitcp:serv/" )
    (set #ask-lang "Choose the language(s) you want to copy." )
    (set #ask-lang-help "The built-in language is english." )
    (set #path-ico "Icons" )
    (set #askfile-help
    (cat "\nIMPORTANT-IMPORTANT-IMPORTANT\n\n"
         "\n the file 'Amitcp:db/inetd.conf' have to be modified:\n"
         "\n at the line:\n"
         "'ftp stream tcp nowait root Amitcp:serv/ftpd ftpd...'\n"
         "\n\n et remplaced by:\n"
         "'ftp stream tcp nowait root AmiTCP:serv/ls-ftpd ls-ftpd...'"
         ))
    (set #LSdocumentation "Choose the documentation to install." )
    (set #documentation-help 
    (cat "Copy a documentation is not necessary,\n"
         " if you are a master!\n"))

    (set #askdir-help "Where you want !!!" )
    (set #askmcc-help "the default path is MUI:libs/mui/")
  )
)
;*********************
;*   french script   *
;*********************

(if (= @language "français")
    (
    (set default_lang 8)

    (set #presentation
    (CAT "\n\ Bienvenue sur le script d'installation de LS-FTPD.\n"
         "\n Ce script installe LS-FTPD sur votre Amiga.\n"
         "\n Pour plus d'information,lisez le fichier 'Readme'"
         "\n pour la distribution de LS-FTPD.\n\n"
         "\n LS-FTPD © 1996 par Jean-françois PIK,LOLOSoft 1996."
         "\n\ Tous droits réservés."
        )
         )
    (set #askoverwrite "\n\n\n\nVous avez la version de LS-ftpd V")
    (set #askdirdoc    "Où voulez-vous installer la documentation?")
    (set #askmcc       "Installation des librairies MUI")

    (set #DInstalle1 "\n\n\n\nVous avez la version de Date.mcc V")
    (set #DInstalle2 (cat " déjà installé "
                                 ".\n\nVoulez-vous le remplacer par Date.mcc V"))
    (set #DInstalle3 "?\n")
    (set #DInstalle4 (cat " déjà installé "
                                 ".\nVoulez-vous le remplacer par ls-ftpd V"))
    (set #asklibs       "Installation de la librairie de ls-ftpd")
    (set #LIBInstalle1 "\n\n\n\nVous avez la version de ls-ftpd.library V")
    (set #LIBInstalle2 (cat " déjà installé "
                                 ".\n\nVoulez-vous le remplacer par ls-ftpd.library V"))
    (set #YES          "Oui")
    (set #NO           "Non")

    (set #application-name "LS-FTPD")
    (set #bad-installer
    (cat "Vous avez une ancienne version du programme 'Installer'"
         "sur votre amiga!/n/nL'installation à besoin de la version 42.9./n/n"
         "/nVérifier votre configuration"))
    (set #kick ("\n'LS-FTPD à besoin du Kickstart version 39 ou plus pour fonctionner."))
    (set #muiversion "LS-FTPD a au minimum besoin de MUI 3.1 pour fonctionner\n" )
    (set #askdir "Indiquez où sera créé le répertoire LS-FTPD.\n" )
    (set #askdir-help "Par défaut LS-FTPD sera installé dans le répertoire AmiTCP:" )
    (set #askfile-ls "Indiquez où sera placé le 'deamon' LS-ftpd.\n" )
    (set #askfile-help-ls "Par défaut le fichier 'deamon' LS-ftpd sera installé dans le répertoire Amitcp:serv/" )
    (set #ask-lang "Choisissez le(s) langage(s) que vous voulez installer" )
    (set #ask-lang-help "Le langage par défaut est l'anglais" )
    (set #path-cat "français" )
    (set #path-ico "Icons" )
    (set #askfile-help
    (cat "\nIMPORTANT-IMPORTANT-IMPORTANT\n\n"
         "\n Le fichier Amitcp:db/inetd.conf devra être modifié:\n"
         "\n à la ligne:\n"
         "'ftp stream tcp nowait root Amitcp:serv/ftpd ftpd...'\n"
         "\n\n et remplacé par:\n"
         "'ftp stream tcp nowait root AmiTCP:serv/ls-ftpd ls-ftpd...'"
         ))
    (set #LSdocumentation "Séléctionnez la documentation à installer." )
    (set #documentation-help "La documentation par défaut est l'anglais")
    (set #askdir-help "Où vous voulez!!!" )
    (set #askmcc-help "Le chemin par défaut est MUI:libs/mui/")
    )
)
;
; Installation
; ************
;
(if (<(/ (GETVERSION) 65536) 39)
    (ABORT #kick)
)
(if (< @installer-version 2752521)
    (message (#bad-installer #ApplicationName))
)

(message #presentation)

(welcome)

(if (< (exists "mui:") 2)  (abort #muiversion) )
(if (exists "mui:mui")
 (
  (set vernum (getversion "mui:mui") )
  (set ver (/ vernum 65536)) (set rev (- vernum (* ver 65536) ) )

  (if (= ver 7) (set muiver "2.0") )   (if (= ver 8) (set muiver "2.1") )
  (if (= ver 9) (set muiver "2.2") )   (if (= ver 10) (set muiver "2.3") )
  (if (= ver 11) (set muiver "3.0") )  (if (= ver 12) (set muiver "3.1") )

) )

(if (< ver 11)   (abort #muiversion) )

; Répertoire de destination
; *************************

(set  Path.dest
        ( askdir
                ( prompt #askdir )
                ( help #askdir-help )
                ( default "AmiTCP:" )
        )
)
 ( set Path.dest ( tackon Path.dest "LS-FTPD" ) ) ( makedir Path.dest )

( copyfiles
    ( prompt "")
    ( source "/icons/LS-FTPD.info")
    ( dest (tackon path.dest "/"))
)

; Copie des fichiers principaux
; *****************************

( copyfiles
    
    ( source "/FTPControl" )
    ( dest Path.dest )
    (infos)
)

( copyfiles
    
    ( source "/FTPStat" )
    (dest Path.dest )
    (infos)
)

( copyfiles
    
    ( source "/FTPPrefs" )
    (dest Path.dest )
    (infos)
)
(complete 10)

; Copie du rep Icons
; ******************

( set Path.icon ( tackon Path.dest "Icons" ) ) ( makedir Path.icon )
( copyfiles
    
    ( source "/Icons" )
    ( dest Path.icon )
    (all)
 )
 ( copyfiles
    
    ( source "/Icons.info" )
    ( dest Path.dest)
 )
(complete 25)

; Copie du deamon ls-ftpd
; ***********************

(set  Path.deamon
        ( askdir
                ( prompt #askfile-ls )
                ( help #askfile-help-ls )
                ( default "AmiTCP:serv" )
        )

)
(set ecrase 1)

(set old_file "Amitcp:serv/LS-ftpd")

(if (exists old_file (noreq))
  (
    (set old_version (getversion old_file))
    (set old_ver (/ old_version 65536))
    (set old_rev (- old_version (* old_ver 65536)))

    (set new_version (getversion ("/LS-ftpd" )))
    (set new_ver (/ new_version 65536))
    (set new_rev (- new_version (* new_ver 65536)))

    (set ecrase (askbool (prompt #askoverwrite
                                      old_ver "." old_rev #DInstalle4
                                      new_ver "." new_rev #DInstalle3)
                                (help def_help @askbool-help)
                                (default 1)
                                (choices "Oui" "Non"))

    )
  )
)
(if ecrase
  ( copyfiles
    
      ( source "/LS-ftpd" )
      ( dest Path.deamon )
      (infos)
  )
)
( copyfiles
    
    ( source "/converter" )
    ( dest Path.deamon )
)
(complete 30)

; Installation des catalogues
; ***************************

(set Path.cat ( tackon Path.dest "Catalogs" ) ) ( makedir Path.cat )
( copyfiles
  ( prompt #copie-icons )
  ( source "/Catalogs.info" )
  ( dest Path.dest )
)

(set locale
        (askoptions
            (prompt #ask-lang)
            (help  #ask-lang-help)
            (choices "Dansk"
                     "Deutsch"
                     "Français"
                     "Greek"
                     "Italiano"
                     "Português"
            )
            (default 0)
        )
)
(if (BITAND locale 1)
      (
        ( set Path.lang ( tackon Path.cat "Dansk" ) ) ( makedir Path.lang )
        (copyfiles
            (source "/catalogs/Dansk/")
            (dest path.lang)
            (all)
        )
      )
)
(if (BITAND locale 2)
      (
        ( set Path.lang ( tackon Path.cat "Deutsch" ) ) ( makedir Path.lang )
        (copyfiles
            (source "/catalogs/Deutsch/")
            (dest path.lang)
            (all)
        )
      )
)
(if (BITAND locale 4)
      (
        ( set Path.lang ( tackon Path.cat "Français" ) ) ( makedir Path.lang )
        ( copyfiles
            (source "/catalogs/Français/")
            (dest path.lang )
            (all)
        )
      )
)
(if (BITAND locale 8)
      (
        ( set Path.lang ( tackon Path.cat "Greek" ) ) ( makedir Path.lang )
        (copyfiles
            (source "/catalogs/Greek/")
            (dest path.lang)
            (all)
        )
      )
)
(if (BITAND locale 16)
      (
        ( set Path.lang ( tackon Path.cat "Italiano" ) ) ( makedir Path.lang )
        (copyfiles
            (source "/catalogs/Italiano/")
            (dest path.lang)
            (all)
        )
      )
)
(if (BITAND locale 32)
      (
        ( set Path.lang ( tackon Path.cat "Português" ) ) ( makedir Path.lang )
        (copyfiles
            (source "/catalogs/Português/")
            (dest path.lang)
            (all)
        )
      )
)

(complete 50)

; Installation de la documentation
; ********************************

(set  Path.choix
        ( askdir
                ( prompt #askdirdoc   )
                ( help   #askdir-help )
                ( default path.dest   )
        )
)

( set  Path.doc ( tackon Path.choix "Docs" ) ) ( makedir Path.doc )

( copyfiles
  ( source "/Docs.info" )
  ( dest Path.choix )
)

(set docs
      (askoptions
          (prompt #LSdocumentation)
          (help #documentation-help)
          (choices "English";1
                   "Français";2
                   "Itaniano";4
          )
          (default 0)
      )
)

( if ( BITAND docs 1 )
      (
        ( set srce "/docs/english/")
        ( set Path.docs ( tackon Path.doc "English" ) ) ( makedir Path.docs )
        (if (exists srce (noreq))
        (
          ( copyfiles
            ( source srce )
            ( dest Path.docs )
            (all)
          )
          ( copyfiles
            ( source "/Docs/english.info" )
            ( dest Path.doc )
          )
        )
        )
      )
)
( if ( BITAND docs 2 )
      (
        ( set srce "/docs/français/")
        ( set Path.docs ( tackon Path.doc "Français" ) ) ( makedir Path.docs )
        (if (exists srce (noreq))
        (
          ( copyfiles
            (source "/docs/français/" )
            (dest Path.docs )
            (all)
          )
          ( copyfiles
            ( source "/Docs/français.info" )
            ( dest Path.doc )
          )
        )
        )
      )
)
( if ( BITAND docs 4 )
      (
        ( set srce "/docs/italiano/")
        ( set Path.docs ( tackon Path.doc "Italiano" ) ) ( makedir Path.docs )
        (if (exists srce (noreq))
        (
          ( copyfiles
            (source srce)
            (dest Path.docs)
            (all)
          )
          ( copyfiles
            ( source "/Docs/italiano.info" )
            ( dest Path.doc )
          )
        )
        )
      )
)
(complete 75)
;
;check de date.
;**************

(set ecrase 1)
    (if (exists "mui:libs/mui/date.mcc")
      (
        (set old_version (getversion "mui:libs/mui/date.mcc"))
        (set old_ver (/ old_version 65536))
        (set old_rev (- old_version (* old_ver 65536)))

        (set new_version (getversion "/libs/mui/date.mcc"))
        (set new_ver (/ new_version 65536))
        (set new_rev (- new_version (* new_ver 65536)))

        (set ecrase (askbool (prompt #DInstalle1
                                         old_ver "." old_rev #DInstalle2
                                         new_ver "." new_rev #DInstalle3)
                                (help def_help @askbool-help)
                                (default 1)
                                (choices #YES #NO))

        )
      )
    )
(if ecrase
 (set path.date
     (copyfiles
        (prompt #askmcc )
        (help   #askmcc-help)
        (source "/libs/mui/")
        (dest "mui:libs/mui/")
        (pattern "#?")
        (infos)
        (confirm)
     )
 )
)

;
;check de ls-ftpd.library.
;**************

(set ecrase 1)
    (if (exists "libs:ls-ftpd.library" (noreq))
      (
        (set old_version (getversion "libs:ls-ftpd.library"))
        (set old_ver (/ old_version 65536))
        (set old_rev (- old_version (* old_ver 65536)))

        (set new_version (getversion "/libs/ls-ftpd.library"))
        (set new_ver (/ new_version 65536))
        (set new_rev (- new_version (* new_ver 65536)))

        (set ecrase (askbool (prompt #LIBInstalle1
                                         old_ver "." old_rev #LIBInstalle2
                                         new_ver "." new_rev #DInstalle3)
                                (help def_help @askbool-help)
                                (default 1)
                                (choices #YES #NO))

        )
      )
    )
(if ecrase
  ( copyfiles
    (prompt #asklibs )
    ( source "/FTPControl" )
    ( dest Path.dest )
    (infos)
  )
)

( message #askfile-help )
(complete 100)
(set @default-dest path.choix)

