synaptic: Bump to 0.91.2

This commit is contained in:
Tee KOBAYASHI 2022-11-20 21:44:34 +09:00 committed by xtkoba
parent f1acfb302c
commit ddc2ebffdd
18 changed files with 537 additions and 447 deletions

View File

@ -2,12 +2,11 @@ TERMUX_PKG_HOMEPAGE=https://www.nongnu.org/synaptic/
TERMUX_PKG_DESCRIPTION="Synaptic is a graphical package management tool based on GTK+ and APT."
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Yisus7u7 <dev.yisus@hotmail.com>"
TERMUX_PKG_VERSION=0.90.1
_COMMIT=a85c743e10e39a43737d5f8a0f0cc4ea755eb545
TERMUX_PKG_SRCURL=https://github.com/mvo5/synaptic/archive/${_COMMIT}.zip
TERMUX_PKG_SHA256=a500cfeea6c4ec4463b42495cba224b9548acbd557e9da695730acf7e49e0798
TERMUX_PKG_DEPENDS="libc++, apt, dpkg, gtk3, atk, libvte, hicolor-icon-theme"
TERMUX_PKG_RECOMMENDS="netsurf"
TERMUX_PKG_VERSION=0.91.2
TERMUX_PKG_SRCURL=https://github.com/mvo5/synaptic/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=686c6b3f1eb96c3d9711ff39aaac365928e934d0b32ff4d0df29cb28ee5c41f0
TERMUX_PKG_DEPENDS="apt, dpkg, gdk-pixbuf, glib, gtk3, libc++, libvte, pango"
TERMUX_PKG_RECOMMENDS="hicolor-icon-theme, netsurf"
TERMUX_PKG_BUILD_IN_SRC=true
termux_step_pre_configure(){

View File

@ -0,0 +1,20 @@
--- a/common/raptoptions.cc
+++ b/common/raptoptions.cc
@@ -176,7 +176,7 @@
}
// read dir
- const char infodir[] = "/var/lib/dpkg/info";
+ const char infodir[] = "@TERMUX_PREFIX@/var/lib/dpkg/info";
const char configext[] = ".config";
DIR *dir;
@@ -211,7 +211,7 @@
// TODO: make deborphan a library to make this cleaner
FILE *fp;
char buf[255];
- char cmd[] = "/usr/bin/deborphan";
+ char cmd[] = "@TERMUX_PREFIX@/bin/deborphan";
//FIXME: fail silently if deborphan is not installed - change this?
if (!FileExists(cmd))
return;

View File

@ -0,0 +1,90 @@
--- a/common/rconfiguration.cc
+++ b/common/rconfiguration.cc
@@ -88,24 +88,22 @@
// store option 'consider recommended packages as dependencies'
// to config of apt if we run as root
- if (getuid() == 0) {
- string aptConfPath = _config->FindDir("Dir::Etc::parts", "/etc/apt/apt.conf.d/")
- + "99synaptic";
-
- int old_umask = umask(0022);
- ofstream aptfile(aptConfPath.c_str(), ios::out);
- if (!aptfile != 0) {
- cerr << "cannot open " << aptConfPath.c_str() <<
- " to write APT::Install-Recommends" << endl;
- } else {
- if (_config->FindB("APT::Install-Recommends", false))
- aptfile << "APT::Install-Recommends \"true\";" << endl;
- else
- aptfile << "APT::Install-Recommends \"false\";" << endl;
+ string aptConfPath = _config->FindDir("Dir::Etc::parts", "@TERMUX_PREFIX@/etc/apt/apt.conf.d/")
+ + "99synaptic";
+
+ int old_umask = umask(0022);
+ ofstream aptfile(aptConfPath.c_str(), ios::out);
+ if (!aptfile != 0) {
+ cerr << "cannot open " << aptConfPath.c_str() <<
+ " to write APT::Install-Recommends" << endl;
+ } else {
+ if (_config->FindB("APT::Install-Recommends", false))
+ aptfile << "APT::Install-Recommends \"true\";" << endl;
+ else
+ aptfile << "APT::Install-Recommends \"false\";" << endl;
aptfile.close();
- }
- umask(old_umask);
}
+ umask(old_umask);
// and backup Install-Recommends to config of synaptic
_config->Set("Synaptic::Install-Recommends",
_config->FindB("APT::Install-Recommends",
@@ -137,14 +135,14 @@
struct stat stbuf;
struct passwd *pwd;
- pwd = getpwuid(getuid());
+ /* pwd = getpwuid(getuid());
if (!pwd) {
return _error->Errno("getpwuid",
_
("ERROR: Could not get password entry for superuser"));
}
- path = string(pwd->pw_dir) + "/.synaptic";
- //path = "/etc/synaptic";
+ path = string(pwd->pw_dir) + "/.synaptic";*/
+ path = "@TERMUX_PREFIX@/etc/synaptic";
if (stat(path.c_str(), &stbuf) < 0) {
if (mkdir(path.c_str(), 0700) < 0) {
@@ -187,7 +185,7 @@
string RTmpDir()
{
struct stat stbuf;
- static string tmpDir = RConfDir() + string("/tmp/");
+ static string tmpDir = RConfDir() + string("@TERMUX_PREFIX@/tmp/");
if (stat(tmpDir.c_str(), &stbuf) < 0) {
if (mkdir(tmpDir.c_str(), 0700) < 0) {
_error->Errno("mkdir",
@@ -243,17 +241,10 @@
// read Install-Recommends, preferably from APT:: if we run as root
// or from Synaptic:: otherwise
- if(getuid() == 0) {
- _config->Set("APT::Install-Recommends",
- _config->FindB("APT::Install-Recommends",
- _config->FindB("Synaptic::Install-Recommends",
- false)));
- } else {
- _config->Set("APT::Install-Recommends",
- _config->FindB("Synaptic::Install-Recommends",
- _config->FindB("APT::Install-Recommends",
- false)));
- }
+ _config->Set("APT::Install-Recommends",
+ _config->FindB("APT::Install-Recommends",
+ _config->FindB("Synaptic::Install-Recommends",
+ false)));
return true;
}

View File

@ -0,0 +1,15 @@
--- a/common/rpackage.cc
+++ b/common/rpackage.cc
@@ -233,10 +233,10 @@
filelist.erase(filelist.begin(), filelist.end());
// try normal file first
- string f = "/var/lib/dpkg/info/" + string(name()) + ".list";
+ string f = "@TERMUX_PREFIX@/var/lib/dpkg/info/" + string(name()) + ".list";
// try multiarch name next
if (!FileExists(f))
- f = "/var/lib/dpkg/info/" + string(name()) + ":" + arch() + ".list";
+ f = "@TERMUX_PREFIX@/var/lib/dpkg/info/" + string(name()) + ":" + arch() + ".list";
if (FileExists(f)) {
ifstream in(f.c_str());
if (!in != 0)

View File

@ -0,0 +1,11 @@
--- a/common/rpackagefilter.cc
+++ b/common/rpackagefilter.cc
@@ -788,7 +788,7 @@
_enabled = conf.FindB(key + "::enabled");
if (_enabled == true) {
string FileName = _config->Find("Synaptic::ReducedViewFile",
- "/etc/apt/metadata");
+ "@TERMUX_PREFIX@/etc/apt/metadata");
if (FileExists(FileName))
addFile(FileName);
}

View File

@ -0,0 +1,29 @@
--- a/common/rpackagelister.cc
+++ b/common/rpackagelister.cc
@@ -118,7 +118,7 @@
cleanCommitLog();
#if 0
string Recommends = _config->Find("Synaptic::RecommendsFile",
- "/etc/apt/metadata");
+ "@TERMUX_PREFIX@/etc/apt/metadata");
if (FileExists(Recommends))
_actors.push_back(new RCacheActorRecommends(this, Recommends));
#endif
@@ -309,8 +309,6 @@
// only lock if we run as root
bool lock = true;
- if(getuid() != 0)
- lock = false;
if (!_cache->open(_progMeter,lock)) {
_progMeter->Done();
@@ -444,7 +442,7 @@
std::cerr << "xapainIndexNeedsUpdate()" << std::endl;
// check the xapian index
- if(FileExists("/usr/sbin/update-apt-xapian-index") &&
+ if(FileExists("@TERMUX_PREFIX@/bin/update-apt-xapian-index") &&
(!_xapianDatabase )) {
if(_config->FindB("Debug::Synaptic::Xapian",false))
std::cerr << "xapain index not build yet" << std::endl;

View File

@ -0,0 +1,11 @@
--- a/data/synaptic.desktop.in
+++ b/data/synaptic.desktop.in
@@ -2,7 +2,7 @@
_Name=Synaptic Package Manager
_GenericName=Package Manager
_Comment=Install, remove and upgrade software packages
-Exec=synaptic-pkexec
+Exec=synaptic
Icon=synaptic
Terminal=false
Type=Application

View File

@ -0,0 +1,10 @@
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -23,7 +23,6 @@
@GTK_LIBS@ \
@VTE_LIBS@ @LP_LIBS@\
-lutil \
- -lpthread \
$(LIBEPT_LIBS)
synaptic_SOURCES= \

View File

@ -0,0 +1,45 @@
--- a/gtk/gsynaptic.cc
+++ b/gtk/gsynaptic.cc
@@ -185,12 +185,12 @@
vector<string> filenames = lister->getPolicyArchives(true);
for (int i=0;i<filenames.size();i++) {
stat(filenames[i].c_str(), &st);
- if(filenames[i] != "/var/lib/dpkg/status")
+ if(filenames[i] != "@TERMUX_PREFIX@/var/lib/dpkg/status")
lastUpdate = max(lastUpdate, (int)st.st_mtime);
}
// new apt uses this
- string update_stamp = _config->FindDir("Dir::State","var/lib/apt");
+ string update_stamp = _config->FindDir("Dir::State","@TERMUX_PREFIX@/var/lib/apt");
update_stamp += "update-stamp";
if(FileExists(update_stamp)) {
stat(update_stamp.c_str(), &st);
@@ -309,9 +309,6 @@
// *) if not, show message and fail
void check_and_aquire_lock()
{
- if (getuid() != 0)
- return;
-
GtkWidget *dia;
gchar *msg = NULL;
pid_t LockedApp, runsNonInteractive;
@@ -429,17 +426,6 @@
if (_config->FindB("help") == true)
ShowHelp(CmdL);
- if (getuid() != 0) {
- RGUserDialog userDialog;
- userDialog.warning(g_strdup_printf("<b><big>%s</big></b>\n\n%s",
- _("Starting \"Synaptic Package Manager\" without "
- "administrative privileges"),
- _("You will not be able to apply "
- "any changes, but you can still "
- "export the marked changes or "
- "create a download script "
- "for them.")));
- }
if (!RInitConfiguration("synaptic.conf")) {
RGUserDialog userDialog;

View File

@ -0,0 +1,20 @@
--- a/gtk/rgdebinstallprogress.cc
+++ b/gtk/rgdebinstallprogress.cc
@@ -142,7 +142,7 @@
}
/* end read_fd */
-#define UNIXSTR_PATH "/var/run/synaptic.socket"
+#define UNIXSTR_PATH "@TERMUX_PREFIX@/var/run/synaptic.socket"
int ipc_send_fd(int fd)
{
@@ -259,7 +259,7 @@
// read diff
string diff;
char buf[512];
- char *cmd = g_strdup_printf("/usr/bin/diff -u %s %s", orig_file.c_str(), new_file.c_str());
+ char *cmd = g_strdup_printf("@TERMUX_PREFIX@/bin/diff -u %s %s", orig_file.c_str(), new_file.c_str());
FILE *f = popen(cmd,"r");
while(fgets(buf,sizeof(buf),f) != NULL) {
diff += utf8(buf);

View File

@ -0,0 +1,145 @@
--- a/gtk/rgmainwindow.cc
+++ b/gtk/rgmainwindow.cc
@@ -405,10 +405,8 @@
gtk_widget_set_sensitive(_detailsM, TRUE);
gtk_widget_set_sensitive(_propertiesB, TRUE);
// activate for root only
- if(getuid() == 0) {
- gtk_widget_set_sensitive(_pinM, TRUE);
- gtk_widget_set_sensitive(_autoM, TRUE);
- }
+ gtk_widget_set_sensitive(_pinM, TRUE);
+ gtk_widget_set_sensitive(_autoM, TRUE);
// set info
gtk_widget_set_sensitive(pkginfo, true);
@@ -872,19 +870,16 @@
}
// do not run if we don't have it
- if(!FileExists("/usr/sbin/update-apt-xapian-index"))
- return false;
- // no permission
- if (getuid() != 0)
+ if(!FileExists("@TERMUX_PREFIX@/bin/update-apt-xapian-index"))
return false;
// if we make it to this point, we need a xapian update
if(_config->FindB("Debug::Synaptic::Xapian",false))
std::cerr << "running update-apt-xapian-index" << std::endl;
GPid pid;
- const char *argp[] = {"/usr/bin/nice",
- "/usr/bin/ionice","-c3",
- "/usr/sbin/update-apt-xapian-index",
+ const char *argp[] = {"@TERMUX_PREFIX@/bin/nice",
+ "@TERMUX_PREFIX@/bin/ionice","-c3",
+ "@TERMUX_PREFIX@/bin/update-apt-xapian-index",
"--update", "-q",
NULL};
if(g_spawn_async(NULL, const_cast<char **>(argp), NULL,
@@ -1175,7 +1170,7 @@
(_builder, "separator_debian")));
#endif
- if(!FileExists(_config->Find("Synaptic::taskHelperProg","/usr/bin/tasksel")))
+ if(!FileExists(_config->Find("Synaptic::taskHelperProg","@TERMUX_PREFIX@/bin/tasksel")))
gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(_builder, "menu_tasks")));
button = GTK_WIDGET(gtk_builder_get_object(_builder, "button_update"));
@@ -1568,7 +1563,7 @@
// only enable fast search if its usable
#ifdef WITH_EPT
if(!_lister->xapiandatabase() ||
- !FileExists("/usr/sbin/update-apt-xapian-index")) {
+ !FileExists("@TERMUX_PREFIX@/bin/update-apt-xapian-index")) {
gtk_widget_hide(GTK_WIDGET(
gtk_builder_get_object(_builder, "toolitem_fast_search")));
gtk_box_set_center_widget(GTK_BOX(
@@ -1580,29 +1575,6 @@
gtk_box_set_center_widget(GTK_BOX(
gtk_builder_get_object(_builder, "hbox_button_toolbar")), NULL);
#endif
- // stuff for the non-root mode
- if(getuid() != 0) {
- GtkWidget *menu;
- gtk_widget_set_sensitive(_proceedB, false);
- gtk_widget_set_sensitive(_proceedM, false);
- button = GTK_WIDGET(gtk_builder_get_object(_builder, "button_update"));
- gtk_widget_set_sensitive(button, false);
- menu = GTK_WIDGET(gtk_builder_get_object
- (_builder, "menu_add_downloadedfiles"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "menu_repositories"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "view_commit_log"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object
- (_builder, "menu_update_packages"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "add_cdrom"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "menu_hold"));
- gtk_widget_set_sensitive(menu, false);
- }
-
}
@@ -1690,10 +1662,8 @@
gtk_widget_set_sensitive(_upgradeB, _lister->upgradable());
gtk_widget_set_sensitive(_upgradeM, _lister->upgradable());
- if (getuid() == 0) {
- gtk_widget_set_sensitive(_proceedB, (toInstall + toRemove) != 0);
- gtk_widget_set_sensitive(_proceedM, (toInstall + toRemove) != 0);
- }
+ gtk_widget_set_sensitive(_proceedB, (toInstall + toRemove) != 0);
+ gtk_widget_set_sensitive(_proceedM, (toInstall + toRemove) != 0);
_unsavedChanges = ((toInstall + toRemove) != 0);
gtk_widget_queue_draw(_statusL);
@@ -2173,7 +2143,7 @@
bool Changed = false;
bool ForceReload = _config->FindB("Synaptic::UpdateAfterSrcChange",false);
- if(!g_file_test("/usr/bin/software-properties-gtk",
+ if(!g_file_test("@TERMUX_PREFIX@/bin/software-properties-gtk",
G_FILE_TEST_IS_EXECUTABLE)
|| _config->FindB("Synaptic::dontUseGnomeSoftwareProperties", false))
{
@@ -2185,7 +2155,7 @@
GPid pid;
int status;
const char *argv[5];
- argv[0] = "/usr/bin/software-properties-gtk";
+ argv[0] = "@TERMUX_PREFIX@/bin/software-properties-gtk";
argv[1] = "-n";
argv[2] = "-t";
argv[3] = g_strdup_printf("%lu", GDK_WINDOW_XID(gtk_widget_get_window(me->_win)));
@@ -2381,7 +2351,7 @@
cmd.push_back("yelp");
cmd.push_back("ghelp:synaptic");
} else {
- cmd.push_back("/usr/bin/xdg-open");
+ cmd.push_back("@TERMUX_PREFIX@/bin/xdg-open");
cmd.push_back(PACKAGE_DATA_DIR "/synaptic/html/index.html");
}
@@ -2548,7 +2518,7 @@
}
me->setStatusText(_("Starting package configuration tool..."));
- const gchar *cmd[] = { "/usr/sbin/dpkg-reconfigure",
+ const gchar *cmd[] = { "@TERMUX_PREFIX@/bin/dpkg-reconfigure",
"-fgnome",
me->selectedPackage()->name(),
NULL };
@@ -2582,7 +2552,7 @@
cmd[0] = "dwww";
cmd[1] = me->selectedPackage()->name();
cmd[2] = NULL;
- g_spawn_async("/tmp", const_cast<gchar **>(cmd), NULL, (GSpawnFlags)0, NULL, NULL, NULL, NULL);
+ g_spawn_async("@TERMUX_PREFIX@/tmp", const_cast<gchar **>(cmd), NULL, (GSpawnFlags)0, NULL, NULL, NULL, NULL);
} else {
me->_userDialog->error(_("You have to install the package \"dwww\" "
"to browse the documentation of a package"));

View File

@ -0,0 +1,29 @@
--- a/gtk/rgtaskswin.cc
+++ b/gtk/rgtaskswin.cc
@@ -56,7 +56,7 @@
gboolean marked = FALSE;
gboolean activatable = FALSE;
gchar *taskname = NULL;
- string cmd = _config->Find("Synaptic::taskHelperProg", "/usr/bin/tasksel");
+ string cmd = _config->Find("Synaptic::taskHelperProg", "@TERMUX_PREFIX@/bin/tasksel");
do {
gtk_tree_model_get(model, &iter,
TASK_CHECKBOX_COLUMN, &marked,
@@ -126,7 +126,7 @@
TASK_NAME_COLUMN, &str, -1);
// ask tasksel about the selected task
- string cmd = _config->Find("Synaptic::taskHelperProg", "/usr/bin/tasksel") + " --task-desc " + string(str);
+ string cmd = _config->Find("Synaptic::taskHelperProg", "@TERMUX_PREFIX@/bin/tasksel") + " --task-desc " + string(str);
string taskDescr;
char buf[255];
FILE *f=popen(cmd.c_str(), "r");
@@ -222,7 +222,7 @@
// fiel in tasks
char buf[255];
gchar **strArray;
- string cmd = _config->Find("Synaptic::taskHelperProg", "/usr/bin/tasksel") + " --list-tasks";
+ string cmd = _config->Find("Synaptic::taskHelperProg", "@TERMUX_PREFIX@/bin/tasksel") + " --list-tasks";
FILE *f = popen(cmd.c_str(),"r");
while(fgets(buf,254,f) != NULL) {

View File

@ -0,0 +1,59 @@
--- a/gtk/rgutils.cc
+++ b/gtk/rgutils.cc
@@ -120,46 +120,10 @@
std::cerr << "Empty command for RunAsSudoUserCommand" << std::endl;
return true;
}
- bool getuidbyname = false;
- // try pkexec first, then sudo
- sudo_user = getenv("PKEXEC_UID");
- if (sudo_user == NULL) {
- sudo_user = getenv("SUDO_UID");
- }
- if (sudo_user == NULL) {
- sudo_user = getenv("USER");
- getuidbyname = true;
- }
- if (sudo_user == NULL) {
- return false;
- }
- if(strncmp("root", sudo_user, strlen("root")) == 0){
- return false;
- }
- if(!getuidbyname){
- pwd = getpwuid(atoi(sudo_user));
- }
- else{
- pwd = getpwnam(sudo_user);
- }
- sudo_user = pwd->pw_name;
#if 0 // does not work for some reason
- if(FileExists("/usr/bin/pkexec") && sudo_user != NULL)
- {
- prefix.push_back("/usr/bin/pkexec");
- prefix.push_back("--user");
- prefix.push_back(sudo_user);
- }
#endif
- if(FileExists("/usr/bin/sudo") && sudo_user != NULL)
- {
- prefix.push_back("/usr/bin/sudo");
- prefix.push_back("-u");
- prefix.push_back(sudo_user);
- }
- // insert the prefix string
- cmd.insert(cmd.begin(), prefix.begin(), prefix.end());
+
#if 0
for(std::vector<const gchar*>::iterator it = cmd.begin();
@@ -209,7 +173,7 @@
g_free(_str);
if (colp == NULL) {
- _str = g_strdup("");
+ _str = g_strdup("USER");
return _str;
}
_str = gdk_rgba_to_string(colp);

View File

@ -1,38 +0,0 @@
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index ed83daa..6100cf9 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -23,7 +23,6 @@ synaptic_LDADD = \
@GTK_LIBS@ \
@VTE_LIBS@ @LP_LIBS@\
-lutil \
- -lpthread \
$(LIBEPT_LIBS)
synaptic_SOURCES= \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4888444..b382f7a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,7 +8,7 @@ LDADD = \
${top_builddir}/common/libsynaptic.a\
-lapt-pkg -lX11 @RPM_LIBS@ @DEB_LIBS@ \
@GTK_LIBS@ @VTE_LIBS@ @LP_LIBS@\
- -lpthread $(LIBEPT_LIBS)
+ $(LIBEPT_LIBS)
test_rpackage_SOURCES= test_rpackage.cc
diff --git a/wings/Makefile.am b/wings/Makefile.am
index f59034f..76592bf 100644
--- a/wings/Makefile.am
+++ b/wings/Makefile.am
@@ -7,7 +7,7 @@ sbin_PROGRAMS=wsynaptic
wsynaptic_LDADD =-lExtraWINGs @WINGS_LIBS@ \
${top_builddir}/common/libsynaptic.a\
-lapt-pkg @RPM_LIBS@ @DEB_LIBS@\
- -lpthread -L/usr/X11R6/lib $(LIBTAGCOLL_LIBS)
+ -L/usr/X11R6/lib $(LIBTAGCOLL_LIBS)

View File

@ -1,403 +0,0 @@
diff --git a/common/rconfiguration.cc b/common/rconfiguration.cc
index 2603588..5cb8958 100644
--- a/common/rconfiguration.cc
+++ b/common/rconfiguration.cc
@@ -86,24 +86,22 @@ bool RWriteConfigFile(Configuration &Conf)
// store option 'consider recommended packages as dependencies'
// to config of apt if we run as root
- if (getuid() == 0) {
- string aptConfPath = _config->FindDir("Dir::Etc::parts", "/etc/apt/apt.conf.d/")
- + "99synaptic";
-
- int old_umask = umask(0022);
- ofstream aptfile(aptConfPath.c_str(), ios::out);
- if (!aptfile != 0) {
- cerr << "cannot open " << aptConfPath.c_str() <<
- " to write APT::Install-Recommends" << endl;
- } else {
- if (_config->FindB("APT::Install-Recommends", false))
- aptfile << "APT::Install-Recommends \"true\";" << endl;
- else
- aptfile << "APT::Install-Recommends \"false\";" << endl;
+ string aptConfPath = _config->FindDir("Dir::Etc::parts", "@TERMUX_PREFIX@/etc/apt/apt.conf.d/")
+ + "99synaptic";
+
+ int old_umask = umask(0022);
+ ofstream aptfile(aptConfPath.c_str(), ios::out);
+ if (!aptfile != 0) {
+ cerr << "cannot open " << aptConfPath.c_str() <<
+ " to write APT::Install-Recommends" << endl;
+ } else {
+ if (_config->FindB("APT::Install-Recommends", false))
+ aptfile << "APT::Install-Recommends \"true\";" << endl;
+ else
+ aptfile << "APT::Install-Recommends \"false\";" << endl;
aptfile.close();
- }
- umask(old_umask);
}
+ umask(old_umask);
// and backup Install-Recommends to config of synaptic
_config->Set("Synaptic::Install-Recommends",
_config->FindB("APT::Install-Recommends",
@@ -135,14 +133,14 @@ static bool checkConfigDir(string &path)
struct stat stbuf;
struct passwd *pwd;
- pwd = getpwuid(getuid());
+ /* pwd = getpwuid(getuid());
if (!pwd) {
return _error->Errno("getpwuid",
_
("ERROR: Could not get password entry for superuser"));
}
- path = string(pwd->pw_dir) + "/.synaptic";
- //path = "/etc/synaptic";
+ path = string(pwd->pw_dir) + "/.synaptic";*/
+ path = "@TERMUX_PREFIX@/etc/synaptic";
if (stat(path.c_str(), &stbuf) < 0) {
if (mkdir(path.c_str(), 0700) < 0) {
@@ -185,7 +183,7 @@ string RStateDir()
string RTmpDir()
{
struct stat stbuf;
- static string tmpDir = RConfDir() + string("/tmp/");
+ static string tmpDir = RConfDir() + string("@TERMUX_PREFIX@/tmp/");
if (stat(tmpDir.c_str(), &stbuf) < 0) {
if (mkdir(tmpDir.c_str(), 0700) < 0) {
_error->Errno("mkdir",
@@ -241,17 +239,10 @@ bool RInitConfiguration(string confFileName)
// read Install-Recommends, preferably from APT:: if we run as root
// or from Synaptic:: otherwise
- if(getuid() == 0) {
- _config->Set("APT::Install-Recommends",
- _config->FindB("APT::Install-Recommends",
- _config->FindB("Synaptic::Install-Recommends",
- false)));
- } else {
- _config->Set("APT::Install-Recommends",
- _config->FindB("Synaptic::Install-Recommends",
- _config->FindB("APT::Install-Recommends",
- false)));
- }
+ _config->Set("APT::Install-Recommends",
+ _config->FindB("APT::Install-Recommends",
+ _config->FindB("Synaptic::Install-Recommends",
+ false)));
return true;
}
diff --git a/common/rpackage.cc b/common/rpackage.cc
index 834b199..ad34aad 100644
--- a/common/rpackage.cc
+++ b/common/rpackage.cc
@@ -233,10 +233,10 @@ const char *RPackage::installedFiles()
filelist.erase(filelist.begin(), filelist.end());
// try normal file first
- string f = "/var/lib/dpkg/info/" + string(name()) + ".list";
+ string f = "@TERMUX_PREFIX@/var/lib/dpkg/info/" + string(name()) + ".list";
// try multiarch name next
if (!FileExists(f))
- f = "/var/lib/dpkg/info/" + string(name()) + ":" + arch() + ".list";
+ f = "@TERMUX_PREFIX@/var/lib/dpkg/info/" + string(name()) + ":" + arch() + ".list";
if (FileExists(f)) {
ifstream in(f.c_str());
if (!in != 0)
diff --git a/common/rpackagelister.cc b/common/rpackagelister.cc
index 084e7ae..628b274 100644
--- a/common/rpackagelister.cc
+++ b/common/rpackagelister.cc
@@ -309,8 +309,6 @@ bool RPackageLister::openCache()
// only lock if we run as root
bool lock = true;
- if(getuid() != 0)
- lock = false;
if (!_cache->open(_progMeter,lock)) {
_progMeter->Done();
diff --git a/data/synaptic.desktop.in b/data/synaptic.desktop.in
index 28025a8..6c5ee22 100644
--- a/data/synaptic.desktop.in
+++ b/data/synaptic.desktop.in
@@ -2,7 +2,7 @@
_Name=Synaptic Package Manager
_GenericName=Package Manager
_Comment=Install, remove and upgrade software packages
-Exec=synaptic-pkexec
+Exec=synaptic
Icon=synaptic
Terminal=false
Type=Application
diff --git a/gtk/gsynaptic.cc b/gtk/gsynaptic.cc
index a6d5834..602a519 100644
--- a/gtk/gsynaptic.cc
+++ b/gtk/gsynaptic.cc
@@ -185,12 +185,12 @@ void update_check(RGMainWindow *mainWindow, RPackageLister *lister)
vector<string> filenames = lister->getPolicyArchives(true);
for (int i=0;i<filenames.size();i++) {
stat(filenames[i].c_str(), &st);
- if(filenames[i] != "/var/lib/dpkg/status")
+ if(filenames[i] != "@TERMUX_PREFIX@/var/lib/dpkg/status")
lastUpdate = max(lastUpdate, (int)st.st_mtime);
}
// new apt uses this
- string update_stamp = _config->FindDir("Dir::State","var/lib/apt");
+ string update_stamp = _config->FindDir("Dir::State","@TERMUX_PREFIX@/var/lib/apt");
update_stamp += "update-stamp";
if(FileExists(update_stamp)) {
stat(update_stamp.c_str(), &st);
@@ -309,9 +309,6 @@ pid_t TestLock(string File)
// *) if not, show message and fail
void check_and_aquire_lock()
{
- if (getuid() != 0)
- return;
-
GtkWidget *dia;
gchar *msg = NULL;
pid_t LockedApp, runsNonInteractive;
@@ -429,17 +426,6 @@ int main(int argc, char **argv)
if (_config->FindB("help") == true)
ShowHelp(CmdL);
- if (getuid() != 0) {
- RGUserDialog userDialog;
- userDialog.warning(g_strdup_printf("<b><big>%s</big></b>\n\n%s",
- _("Starting \"Synaptic Package Manager\" without "
- "administrative privileges"),
- _("You will not be able to apply "
- "any changes, but you can still "
- "export the marked changes or "
- "create a download script "
- "for them.")));
- }
if (!RInitConfiguration("synaptic.conf")) {
RGUserDialog userDialog;
diff --git a/gtk/rgdebinstallprogress.cc b/gtk/rgdebinstallprogress.cc
index 9a8e2eb..db46575 100644
--- a/gtk/rgdebinstallprogress.cc
+++ b/gtk/rgdebinstallprogress.cc
@@ -142,7 +142,7 @@ read_fd(int fd, void *ptr, size_t nbytes, int *recvfd)
}
/* end read_fd */
-#define UNIXSTR_PATH "/var/run/synaptic.socket"
+#define UNIXSTR_PATH "@TERMUX_PREFIX@/var/run/synaptic.socket"
int ipc_send_fd(int fd)
{
@@ -259,7 +259,7 @@ void RGDebInstallProgress::conffile(gchar *conffile, gchar *status)
// read diff
string diff;
char buf[512];
- char *cmd = g_strdup_printf("/usr/bin/diff -u %s %s", orig_file.c_str(), new_file.c_str());
+ char *cmd = g_strdup_printf("@TERMUX_PREFIX@/bin/diff -u %s %s", orig_file.c_str(), new_file.c_str());
FILE *f = popen(cmd,"r");
while(fgets(buf,sizeof(buf),f) != NULL) {
diff += utf8(buf);
diff --git a/gtk/rgmainwindow.cc b/gtk/rgmainwindow.cc
index 3f2d563..a19e817 100644
--- a/gtk/rgmainwindow.cc
+++ b/gtk/rgmainwindow.cc
@@ -405,10 +405,8 @@ void RGMainWindow::updatePackageInfo(RPackage *pkg)
gtk_widget_set_sensitive(_detailsM, TRUE);
gtk_widget_set_sensitive(_propertiesB, TRUE);
// activate for root only
- if(getuid() == 0) {
- gtk_widget_set_sensitive(_pinM, TRUE);
- gtk_widget_set_sensitive(_autoM, TRUE);
- }
+ gtk_widget_set_sensitive(_pinM, TRUE);
+ gtk_widget_set_sensitive(_autoM, TRUE);
// set info
gtk_widget_set_sensitive(pkginfo, true);
@@ -872,19 +870,16 @@ gboolean RGMainWindow::xapianDoIndexUpdate(void *data)
}
// do not run if we don't have it
- if(!FileExists("/usr/sbin/update-apt-xapian-index"))
- return false;
- // no permission
- if (getuid() != 0)
+ if(!FileExists("@TERMUX_PREFIX@/bin/update-apt-xapian-index"))
return false;
// if we make it to this point, we need a xapian update
if(_config->FindB("Debug::Synaptic::Xapian",false))
std::cerr << "running update-apt-xapian-index" << std::endl;
GPid pid;
- const char *argp[] = {"/usr/bin/nice",
- "/usr/bin/ionice","-c3",
- "/usr/sbin/update-apt-xapian-index",
+ const char *argp[] = {"@TERMUX_PREFIX@/bin/nice",
+ "@TERMUX_PREFIX@/bin/ionice","-c3",
+ "@TERMUX_PREFIX@/bin/update-apt-xapian-index",
"--update", "-q",
NULL};
if(g_spawn_async(NULL, const_cast<char **>(argp), NULL,
@@ -1580,29 +1575,6 @@ void RGMainWindow::buildInterface()
gtk_box_set_center_widget(GTK_BOX(
gtk_builder_get_object(_builder, "hbox_button_toolbar")), NULL);
#endif
- // stuff for the non-root mode
- if(getuid() != 0) {
- GtkWidget *menu;
- gtk_widget_set_sensitive(_proceedB, false);
- gtk_widget_set_sensitive(_proceedM, false);
- button = GTK_WIDGET(gtk_builder_get_object(_builder, "button_update"));
- gtk_widget_set_sensitive(button, false);
- menu = GTK_WIDGET(gtk_builder_get_object
- (_builder, "menu_add_downloadedfiles"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "menu_repositories"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "view_commit_log"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object
- (_builder, "menu_update_packages"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "add_cdrom"));
- gtk_widget_set_sensitive(menu, false);
- menu = GTK_WIDGET(gtk_builder_get_object(_builder, "menu_hold"));
- gtk_widget_set_sensitive(menu, false);
- }
-
}
@@ -1690,10 +1662,8 @@ void RGMainWindow::setStatusText(char *text)
gtk_widget_set_sensitive(_upgradeB, _lister->upgradable());
gtk_widget_set_sensitive(_upgradeM, _lister->upgradable());
- if (getuid() == 0) {
- gtk_widget_set_sensitive(_proceedB, (toInstall + toRemove) != 0);
- gtk_widget_set_sensitive(_proceedM, (toInstall + toRemove) != 0);
- }
+ gtk_widget_set_sensitive(_proceedB, (toInstall + toRemove) != 0);
+ gtk_widget_set_sensitive(_proceedM, (toInstall + toRemove) != 0);
_unsavedChanges = ((toInstall + toRemove) != 0);
gtk_widget_queue_draw(_statusL);
diff --git a/gtk/rgutils.cc b/gtk/rgutils.cc
index f5ebdc3..e0506eb 100644
--- a/gtk/rgutils.cc
+++ b/gtk/rgutils.cc
@@ -114,17 +114,17 @@ std::string SizeToStr(double Size)
std::vector<const gchar*> GetBrowserCommand(const gchar *link)
{
std::vector<const gchar*> cmd;
- if (FileExists("/usr/bin/xdg-open")) {
- cmd.push_back("/usr/bin/xdg-open");
+ if (FileExists("@TERMUX_PREFIX@/bin/xdg-open")) {
+ cmd.push_back("@TERMUX_PREFIX@/bin/xdg-open");
cmd.push_back(link);
- } else if (FileExists("/usr/bin/firefox")) {
- cmd.push_back("/usr/bin/firefox");
+ } else if (FileExists("@TERMUX_PREFIX@/bin/netsurf-gtk3")) {
+ cmd.push_back("@TERMUX_PREFIX@/bin/netsurf-gtk3");
cmd.push_back(link);
- } else if (FileExists("/usr/bin/iceweasel")) {
- cmd.push_back("/usr/bin/iceweasel");
+ } else if (FileExists("@TERMUX_PREFIX@/bin/iceweasel")) {
+ cmd.push_back("@TERMUX_PREFIX@/bin/iceweasel");
cmd.push_back(link);
- } else if (FileExists("/usr/bin/konqueror")) {
- cmd.push_back("/usr/bin/konqueror");
+ } else if (FileExists("@TERMUX_PREFIX@/bin/konqueror")) {
+ cmd.push_back("@TERMUX_PREFIX@/bin/konqueror");
cmd.push_back(link);
}
return cmd;
@@ -139,46 +139,10 @@ bool RunAsSudoUserCommand(std::vector<const gchar*> cmd)
std::cerr << "Empty command for RunAsSudoUserCommand" << std::endl;
return true;
}
- bool getuidbyname = false;
- // try pkexec first, then sudo
- sudo_user = getenv("PKEXEC_UID");
- if (sudo_user == NULL) {
- sudo_user = getenv("SUDO_UID");
- }
- if (sudo_user == NULL) {
- sudo_user = getenv("USER");
- getuidbyname = true;
- }
- if (sudo_user == NULL) {
- return false;
- }
- if(strncmp("root", sudo_user, strlen("root")) == 0){
- return false;
- }
- if(!getuidbyname){
- pwd = getpwuid(atoi(sudo_user));
- }
- else{
- pwd = getpwnam(sudo_user);
- }
- sudo_user = pwd->pw_name;
#if 0 // does not work for some reason
- if(FileExists("/usr/bin/pkexec") && sudo_user != NULL)
- {
- prefix.push_back("/usr/bin/pkexec");
- prefix.push_back("--user");
- prefix.push_back(sudo_user);
- }
#endif
- if(FileExists("/usr/bin/sudo") && sudo_user != NULL)
- {
- prefix.push_back("/usr/bin/sudo");
- prefix.push_back("-u");
- prefix.push_back(sudo_user);
- }
- // insert the prefix string
- cmd.insert(cmd.begin(), prefix.begin(), prefix.end());
+
#if 0
for(std::vector<const gchar*>::iterator it = cmd.begin();
@@ -228,7 +192,7 @@ char *gtk_get_string_from_color(GdkRGBA * colp)
g_free(_str);
if (colp == NULL) {
- _str = g_strdup("");
+ _str = g_strdup("USER");
return _str;
}
_str = gdk_rgba_to_string(colp);
diff --git a/wings/synaptic.cc b/wings/synaptic.cc
index 3a84ed2..48cc5b5 100644
--- a/wings/synaptic.cc
+++ b/wings/synaptic.cc
@@ -61,7 +61,7 @@ int main(int argc, char **argv)
{
setlocale(LC_ALL, "");
-// bindtextdomain(PACKAGE, "/usr/local/share/locale");
+// bindtextdomain(PACKAGE, "@TERMUX_PREFIX@/share/locale");
textdomain(PACKAGE);
WMInitializeApplication("synaptic", &argc, argv);
@@ -75,12 +75,12 @@ int main(int argc, char **argv)
//XSynchronize(dpy, 1);
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
- if (getuid() != 0) {
+ /* if (getuid() != 0) {
WMRunAlertPanel(scr, NULL, _("Error"),
_("You must run this program as the root user."),
_("OK"), NULL, NULL);
exit(1);
- }
+ }*/
if (!RInitConfiguration("synaptic.conf")) {

View File

@ -0,0 +1,11 @@
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,7 +8,7 @@
${top_builddir}/common/libsynaptic.a\
-lapt-pkg -lX11 @RPM_LIBS@ @DEB_LIBS@ \
@GTK_LIBS@ @VTE_LIBS@ @LP_LIBS@\
- -lpthread $(LIBEPT_LIBS)
+ $(LIBEPT_LIBS)
test_rpackage_SOURCES= test_rpackage.cc

View File

@ -0,0 +1,11 @@
--- a/wings/Makefile.am
+++ b/wings/Makefile.am
@@ -7,7 +7,7 @@
wsynaptic_LDADD =-lExtraWINGs @WINGS_LIBS@ \
${top_builddir}/common/libsynaptic.a\
-lapt-pkg @RPM_LIBS@ @DEB_LIBS@\
- -lpthread -L/usr/X11R6/lib $(LIBTAGCOLL_LIBS)
+ $(LIBTAGCOLL_LIBS)

View File

@ -0,0 +1,26 @@
--- a/wings/synaptic.cc
+++ b/wings/synaptic.cc
@@ -61,7 +61,7 @@
{
setlocale(LC_ALL, "");
-// bindtextdomain(PACKAGE, "/usr/local/share/locale");
+// bindtextdomain(PACKAGE, "@TERMUX_PREFIX@/share/locale");
textdomain(PACKAGE);
WMInitializeApplication("synaptic", &argc, argv);
@@ -75,12 +75,12 @@
//XSynchronize(dpy, 1);
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
- if (getuid() != 0) {
+ /* if (getuid() != 0) {
WMRunAlertPanel(scr, NULL, _("Error"),
_("You must run this program as the root user."),
_("OK"), NULL, NULL);
exit(1);
- }
+ }*/
if (!RInitConfiguration("synaptic.conf")) {