Exemplo n.º 1
0
    def make_package(self, widget):
        from os import chdir, geteuid, curdir
        from os.path import dirname, abspath
        
        dlg = choose_pkgbuild_dialog(self.gld.get_widget("main_win"), self.icon)
        fname = dlg.run()
        dlg.destroy()
        
        try:
            dname = dirname(fname)
        except:
            return

        pwd = abspath(curdir)
        chdir(dname)

        cdlg = command_dialog(self.icon)

        if geteuid() == 0:
            dlg = change_user_dialog(self.gld.get_widget("main_win"), self.icon)
            user = dlg.run()

            if user == "root":
                cdlg.run("makepkg --asroot -si")
            elif user == "reject":
                pass
            else:
                cdlg.run("su %s -c 'makepkg -si'" %user, False)
            dlg.destroy()
        else:
            cdlg.run("makepkg -si", False)
        chdir(pwd)
Exemplo n.º 2
0
    def make_package(self, widget):
        from os.path import dirname, abspath
        
        dlg = choose_pkgbuild_dialog(self.gld.get_widget("main_win"), self.icon)
        fname = dlg.run()
        dlg.destroy()
        
        try:
            dname = dirname(fname)
        except:
            self.gld.get_widget("main_win").set_sensitive(True)
            return

        self.gld.get_widget("main_win").set_sensitive(False)
        pwd = abspath(curdir)
        chdir(dname)

        command_dlg = command_dialog(self.gld.get_widget("main_win"), self.icon)
        command_dlg.connect("destroy", self._done)
        
        
        if geteuid() == 0:
            dlg = change_user_dialog(self.gld.get_widget("main_win"), self.icon)
            user = dlg.run()
            dlg.destroy()

            if user == "root":
                command_dlg.install("makepkg --asroot -si \n", False)
            elif user == "reject":
                pass
            else:
                command_dlg.install("su %s -c 'makepkg -si' \n" %user, False)
            #command_dlg.destroy()
        else:
            if self._passwd_dlg_init(command_dlg):
                usr_name = getpwuid(geteuid())[0]
                command_dlg.install("su %s -c 'makepkg -si' \n" %usr_name, False)
            else:
                command_dlg.destroy()
            #command_dlg.install("makepkg -s \n", False)
        #command_dlg.destroy()
        chdir(pwd)