123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- #!/usr/bin/env lua
- local config_dir="/usr/milis/mps/conf/"
- package.path = "/usr/milis/mps/lua/?.lua" .. ";".. package.path
- package.path = config_dir.."?.lua" .. ";".. package.path
- local c = require ("conf")
- local serpent = require('serpent')
- --local config_file="/usr/milis/mps/conf/conf.lua"
- local config_file=config_dir.."conf.lua"
- local key=arg[1]
- local val=arg[2]
- local val2=arg[3]
- -- yedekleme için ayarlar
- local mpsconf={
- repo_dizin="/sources",
- sunucu={"https://mls.akdeniz.edu.tr/paketler21",},
- talimatdepo={
- [1]={["https://mls.akdeniz.edu.tr/git/milislinux/milis21"]="talimatname/1"},
- [2]={["https://mls.akdeniz.edu.tr/git/milislinux/milis21"]="talimatname/2"},
- },
- betikdepo={
- bin={["https://mls.akdeniz.edu.tr/git/milislinux/milis21"]="bin"},
- ayarlar={["https://mls.akdeniz.edu.tr/git/milislinux/milis21"]="ayarlar"},
- },
- }
- -- parametre işlevleri
- handle={
- ["-y"]=function() c=mpsconf end,
- ["-h"]=function()
- local help=[[
- ------------------------------------
- mpsc - MPS için Ayar Düzenleme Betiği
- ------------------------------------
- mpsc Mevcut ayarlar
- mpsc -h Yardım menüsü
- mpsc -y Ayarları sıfırlama
- mpsc -r repo_dizin Kaynak dizini ayarlama
- mpsc -s sıra=sunucu_adres Paket sunucusunu ayarlama
- mpsc -t sıra sunucu_adres=dizin Talimatname seviyesi için talimat deposu ayarlama
- mpsc -b dizin sunucu_adres=dizin Betik/uygulama için git deposu ayarlama
- ------------------------------------
- ]]
- print(help)
- end,
- ["-r"]=function(val,val2) c.repo_dizin=val end,
- ["-s"]=function(val,val2)
- local poz=val:find("=",1,true)
- if poz == nil then
- --print("1=sunucu_adresi şeklinde değer veriniz.")
- c.sunucu[1]=val
- else
- local order=val:sub(1,poz-1)
- order=tonumber(order)
- local server=val:sub(poz+1,-1)
- if server == "" then
- c.sunucu[order]=nil
- else
- c.sunucu[order]=server
- end
- end
- end,
- ["-b"]=function(val,val2)
- if val2 == nil then
- print("depo_dizin depo_adres=depo_dizin şeklinde değer veriniz.")
- else
- if c.betikdepo[val] == nil then
- c.betikdepo[val]={}
- end
- -- betik depo boş değilse
- if val2 ~= "nil" then
- local mpoz=val2:find("@",1,true)
- if mpoz ~= nil then
- val2="https://mls.akdeniz.edu.tr/git/milislinux/"..val2:sub(mpoz+1,-1)
- end
- local poz=val2:find("=",1,true)
- if poz == nil then
- --print("depo_dizin depo_adres=depo_dizin şeklinde değer veriniz.")
- c.betikdepo[val][val2]=""
- else
- local url=val2:sub(1,poz-1)
- local dir=val2:sub(poz+1,-1)
- if dir == "nil" then
- c.betikdepo[val][url]=nil
- else
- c.betikdepo[val][url]=dir
- end
- end
- else
- -- betikdepo silmek için
- c.betikdepo[val]=nil
- end
- end
- end,
- ["-t"]=function(val,val2)
- if val2 == nil then
- print("depo_numara depo_adres=depo_dizin şeklinde değer veriniz.")
- else
- -- ilk defa eklenecek seviye kontrolü
- if c.talimatdepo[val] == nil then
- c.talimatdepo[val]={}
- end
- -- talimat depo boş değilse
- if val2 ~= "nil" then
- local poz=val2:find("=",1,true)
- val=tonumber(val)
-
- if poz == nil then
- --print("depo_numara depo_adres=depo_dizin şeklinde değer veriniz.")
- c.talimatdepo[val][val2]=""
- else
- local url=val2:sub(1,poz-1)
- local dir=val2:sub(poz+1,-1)
- if dir == "nil" then
- c.talimatdepo[val][url]=nil
- else
- c.talimatdepo[val][url]=dir
- end
- end
- else
- -- seviye silmek için
- table.remove(c.talimatdepo, val)
- end
- end
- end,
- }
- if key~= nil then
- if val~= nil then
- handle[key](val,val2)
- else
- handle[key]()
- end
- else
- print(serpent.block(c))
- --handle["-h"]()
- end
- local indent=""
- function tprint(tablo)
- local data=serpent.block(tablo)
- -- açık çıktıyı kullan
- io.output(io.open(config_file, "w"))
- io.write("local config=")
- io.write(data)
- io.write("\n")
- io.write("return config")
- io.write("\n")
- io.close()
- end
- tprint(c)
|