Example #1
0
def bag_test(paket_adi):

    alt.yap("echo -e '\E[0;32m'\"\033[1mReading dependencies\033[0m\"")

    # Bağımlılıkların listesini "control" dosyasından alıyoruz.
    alt.dizine_gec("/usr/share/paketci/gecici/" + paket_adi + "/control")
    bgm = open("control", "r").readlines()

    # "gecici" dizini içine bağımlılık listesini koyuyoruz
    bgm_liste = open("../../bagimliliklar", "w")

    for satir in bgm:
        # "Depends" ve varsa "Pre-Depends" etiketlerine bakıyoruz.
        ifade = satir.split(": ")

        if ifade[0] == "Depends" or ifade[0] == "Pre-Depends":

            liste = ifade[1].split(", ")
            # Artırma değeri belirliyoruz ve bağımlılıklar listesini buna göre bir dosyaya yazdırıyoruz.
            art = 0
            while art < len(liste) - 1:
                bgm_liste.write("Package: " + liste[art] + "\n")
                art = art + 1

                # Listenin son elemanı döngünün dışında kalıyor, ekliyoruz
            bgm_liste.write("Package: " + liste[-1])

            # Yazma tamamlandı, kapatıyoruz
    bgm_liste.close()

    print "\nDependency list succesfully parsed."
    # Bağımlılıkların listesini kullanıcıya sunuyor, ve kurup kurmadığını soruyoruz.
    alt.yap("echo -e '\E[0;31m'\"\033[1m------------------------\033[0m\"")
    alt.yap("echo -e '\E[0;32m'\"\033[1mDEPENDENCY LIST\033[0m\"")

    # Bağımlılık kaydını açıyor ve ekrana yazdırıyoruz
    alt.dizine_gec("/usr/share/paketci/gecici/")
    bgm_liste = open("bagimliliklar", "r")
    while 1:
        satir = bgm_liste.readline()
        if not satir:
            break
        else:
            print satir

    alt.yap("echo -e '\E[0;31m'\"\033[1m------------------------\033[0m\"")
    print "You can download the dependencies from http://packages.debian.org"
    bgm_testi = raw_input("Did you install the dependencies that listed? (y/n): ")
    if bgm_testi == "y":
        pass
    elif bgm_testi == "n":
        print "Please retry when you install the dependencies."
        alt.dizin_sil("/usr/share/paketci/gecici/" + paket_adi)

        alt.cik()
    else:
        print "Error.\n"
        alt.dizin_sil("/usr/share/paketci/gecici/" + paket_adi)
        alt.cik()
Example #2
0
def kaldir():

    paket_listesi = {}
    art = 1
    alt.dizine_gec("/usr/share/paketci/kayit/debian")
    for kok, dizinler, dosyalar in alt.dizin_listele("/usr/share/paketci/kayit/debian"):
        if dizinler != []:
            for k in dizinler:
                paket_listesi[art] = k
                art = art + 1
        else:
            pass

            # Kaldırılabilecek paket yoksa hata veriyoruz.
    if paket_listesi == {}:
        print "Error."
        alt.cik()

    alt.yap("echo -e '\E[0;32m'\"\033[1mInstalled packages:\033[0m\"")
    print "\n".join("%s) %s" % (k, v) for k, v in paket_listesi.items())

    paket_adi = ""
    paket_no = input("Please input the number of the package:  ")
    try:
        paket_adi = paket_listesi[paket_no]
    except:
        print "Error"
        alt.cik()

        # Eğer varsa prerm script'i çalıştırılacak.
    alt.dizine_gec("/usr/share/paketci/kayit/debian/" + paket_adi)
    if alt.dosyami("prerm"):
        alt.yap("echo -e '\E[0;32m'\"\033[1mRunning prerm.sh\033[0m\"")
        alt.yap("./prerm remove")
        alt.yap("echo -e '\E[0;32m'\"\033[1mPre-Remove operations has done.\033[0m\"")

        # "kur" ile oluşturduğumuz "silme_kaydi" dosyasındaki tüm dosyalara "rm -rf" uygulayacağız.
    if not alt.dizin_varmi("/usr/share/paketci/kayit/debian/" + paket_adi):
        print "Error!"
        alt.cik()
    alt.dizine_gec("/usr/share/paketci/kayit/debian/" + paket_adi)
    silme = open("silme_kaydi", "r")
    while 1:
        satir = silme.readline()
        if not satir:  # Başka satır kalmadıysa çık.
            break
        alt.yap("rm -rf " + satir)
    silme.close()

    # Eğer varsa postrm script'i çalıştırılacak.
    alt.dizine_gec("/usr/share/paketci/kayit/debian/" + paket_adi)
    if alt.dosyami("postrm"):
        alt.yap("echo -e '\E[0;32m'\"\033[1mRunning postrm.sh\033[0m\"")
        alt.yap("./postrm remove")
        alt.yap("echo -e '\E[0;32m'\"\033[1mPost-Remove operations has done.\033[0m\"")

        # Kaldırma tamamlandı Kullanıcıyı bilgilendiriyoruz.
    alt.yap("echo -e '\E[0;31m'\"\033[1m------------------------\033[0m\"")
    alt.yap("echo -e '\E[0;32m'\"\033[1mPackage removed successfully!\033[0m\"")
    alt.yap("echo -e '\E[0;31m'\"\033[1m------------------------\033[0m\"")
    # Son olarak "kayit/debian" altındaki paketimize ait klasörü siliyoruz.
    alt.dizine_gec("/usr/share/paketci/kayit/debian/")
    alt.dizin_sil(paket_adi)
    print "Package removed from database."