diff -Nru packagesearch-2.9.0/app/src/globals.h packagesearch-2.10.1/app/src/globals.h
--- packagesearch-2.9.0/app/src/globals.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/app/src/globals.h 2025-05-18 18:43:29.000000000 +0200
@@ -18,7 +18,7 @@
namespace NPackageSearch
{
-const QString VERSION("2.9.0");
+const QString VERSION("2.10.1");
}
#endif // __NPACKAGESEARCH_GLOBALS_H_2005_09_30
diff -Nru packagesearch-2.9.0/CMakeLists.txt packagesearch-2.10.1/CMakeLists.txt
--- packagesearch-2.9.0/CMakeLists.txt 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/CMakeLists.txt 2025-05-18 18:43:29.000000000 +0200
@@ -31,7 +31,6 @@
add_subdirectory(app/src)
add_subdirectory(plugins/aptplugin)
add_subdirectory(plugins/filenameplugin)
-add_subdirectory(plugins/orphanplugin)
add_subdirectory(plugins/screenshotplugin)
set(SOURCE_ICON_DIR app/icons)
@@ -72,58 +71,3 @@
DESTINATION share/applications
)
-
-# Legacy in case we need it
-## add standard Debian flags
-#QMAKE_CXXFLAGS_RELEASE += $$system(dpkg-buildflags --get CPPFLAGS)
-#QMAKE_CXXFLAGS_RELEASE += $$system(dpkg-buildflags --get CXXFLAGS)
-#QMAKE_LFLAGS += $$system(dpkg-buildflags --get LDFLAGS)
-
-
-#isEmpty(USE_KDE_LIBS){
- #message("USE_KDE_LIBS not set, assuming false by default")
- #USE_KDE_LIBS = false
-#}
-#contains(USE_KDE_LIBS, true){
- #message("KDE support enabled")
- #INCLUDEPATH += /usr/include/kde
- #LIBS += -lkdecore
- #DEFINES += __USE_KDE_LIBS
-#}
-
-
-## build a library from the packagesearch application here, to allow
-## plugins to use the library for their test cases
-#testlib {
- #OBJECTS_DIR = .obj_debug
- #DEFINES += __DEBUG
- #message("generating test library")
- #TEMPLATE = lib
- #QMAKE_MAKEFILE = Makefile.testlib
- #SOURCES -= main.cpp
- #INCLUDEPATH += .moc/
- ## object files for libraries are build differently from applications
- ## thus we require another object dir
- ## we do not distinguish between debug and release here
- #OBJECTS_DIR = .obj_test
-#}
-
-# from old Makefile
-
-#test: build-test run-test
-
-#build-test: debug
- #( cd src ; $(QMAKE) $(QMAKE_ARGS) "CONFIG+= testlib" ; make $(MAKE_ARGS) -f Makefile.testlib)
- #( cd test-src ; $(QMAKE) $(QMAKE_ARGS) ; make $(MAKE_ARGS))
- #( cd src/plugins ; $(QMAKE) $(QMAKE_ARGS) plugins-test.pro ; make $(MAKE_ARGS) -f Makefile.test)
-
-#run-test: build-test
- #( cd test-src ; export LD_LIBRARY_PATH=../src ; ./run-tests )
- #( cd src ; export LD_LIBRARY_PATH=.:plugins ; plugins/aptplugin/run-tests )
-
-#clean-test:
- #( cd src/plugins ; $(QMAKE) $(QMAKE_ARGS) "CONFIG+= testlib" ; make -f src/Makefile.testlib clean )
- #make -f src/Makefile.test clean
- #make -f src/plugins/Makefile.test clean
- #rm -f src/Makefile.testlib
- #rm -f src/Makefile.test
diff -Nru packagesearch-2.9.0/debian/changelog packagesearch-2.10.1/debian/changelog
--- packagesearch-2.9.0/debian/changelog 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/debian/changelog 2025-05-18 18:43:29.000000000 +0200
@@ -1,3 +1,16 @@
+packagesearch (2.10.1) unstable; urgency=medium
+
+ * removed deborphan from recommends
+
+ -- Benjamin Mesing <b...@debian.org> Sun, 18 May 2025 18:43:29 +0200
+
+packagesearch (2.10.0) unstable; urgency=medium
+
+ * removed orphan plugin, since deborphan was removed from debian
+ (Closes: #1105916)
+
+ -- Benjamin Mesing <b...@debian.org> Sun, 18 May 2025 16:39:39 +0200
+
packagesearch (2.9.0) unstable; urgency=medium
* changed app to no longer rely on libapt, libept, debtags et al
diff -Nru packagesearch-2.9.0/debian/control packagesearch-2.10.1/debian/control
--- packagesearch-2.9.0/debian/control 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/debian/control 2025-05-18 18:43:29.000000000 +0200
@@ -9,17 +9,15 @@
Package: packagesearch
Architecture: any
Depends: apt (>= 0.6.46.1), xterm, ${shlibs:Depends}, ${misc:Depends}
-Recommends: apt-file, deborphan
+Recommends: apt-file
Description: GUI for searching packages and viewing package information
This tool is aimed to help you search the packages you need. It should
make the task of searching a pleasant experience.
.
Search can be done by
* pattern
- * tags (based on the debtags system)
* files
* installed status
- * orphaned packages
Additionally a lot of information about the packages is displayed,
including screenshots and the files within a package.
.
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/CMakeLists.txt packagesearch-2.10.1/plugins/orphanplugin/CMakeLists.txt
--- packagesearch-2.9.0/plugins/orphanplugin/CMakeLists.txt 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-find_package(PkgConfig REQUIRED)
-find_package(Qt6 REQUIRED COMPONENTS Widgets Xml LinguistTools)
-
-set(PLUGIN_NAME "orphanplugin")
-
-include_directories(${PROJECT_SOURCE_DIR}/app/src)
-
-add_library(${PLUGIN_NAME} SHARED
- orphanplugincontainer.cpp
- orphanpluginfactory.cpp
- orphanplugin.cpp
- orphansearchinputimpl.cpp
- orphanfeedbackwidgetimpl.cpp
- orphansearchinput.ui
- orphanfeedbackwidget.ui
-)
-
-qt_add_translations(${PLUGIN_NAME} TS_FILES
- ${PROJECT_SOURCE_DIR}/translations/${PLUGIN_NAME}_de.ts
-)
-
-target_link_libraries(${PLUGIN_NAME} PRIVATE Qt6::Widgets Qt6::Xml)
-
-install(TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_TARGET_DIR})
-install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}_de.qm
- DESTINATION ${TRANSLATION_TARGET_DIR}
-)
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidgetimpl.cpp packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidgetimpl.cpp
--- packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidgetimpl.cpp 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidgetimpl.cpp 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-//
-// C++ Implementation: orphanfeedbackwidget
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#include "orphanfeedbackwidgetimpl.h"
-
-OrphanFeedbackWidget::OrphanFeedbackWidget(QWidget *parent)
- : QWidget(parent), Ui::OrphanFeedbackWidget()
-{
- setupUi(this);
-}
-
-
-OrphanFeedbackWidget::~OrphanFeedbackWidget()
-{
-}
-
-
-
-void OrphanFeedbackWidget::setClearButton( QPushButton * pButton, int index )
-{
- delete(_pClearButton);
- _pClearButton = pButton;
- static_cast<QBoxLayout*>(layout())->insertWidget(index, pButton);
-}
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidgetimpl.h packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidgetimpl.h
--- packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidgetimpl.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidgetimpl.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-//
-// C++ Interface: orphanfeedbackwidget
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef __ORPHANFEEDBACKWIDGET_H_2005_08_24
-#define __ORPHANFEEDBACKWIDGET_H_2005_08_24
-
-#include <qwidget.h>
-#include <ui_orphanfeedbackwidget.h>
-
-/**
-@author Benjamin Mesing
-*/
-class OrphanFeedbackWidget : public QWidget, public Ui::OrphanFeedbackWidget
-{
-Q_OBJECT
-public:
- OrphanFeedbackWidget(QWidget *parent = 0);
-
- ~OrphanFeedbackWidget();
- void setClearButton( QPushButton * pButton, int index );
-};
-
-#endif // __ORPHANFEEDBACKWIDGET_H_2005_08_24
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidget.ui packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidget.ui
--- packagesearch-2.9.0/plugins/orphanplugin/orphanfeedbackwidget.ui 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanfeedbackwidget.ui 1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
- <class>OrphanFeedbackWidget</class>
- <widget class="QWidget" name="OrphanFeedbackWidget" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>388</width>
- <height>36</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Form1</string>
- </property>
- <layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>2</number>
- </property>
- <item>
- <widget class="QLineEdit" name="_pTextDisplay" >
- <property name="toolTip" >
- <string>Displays the deborphan commandline</string>
- </property>
- <property name="whatsThis" >
- <string>This displays the command line which is used to search for orphans.</string>
- </property>
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="_pClearButton" >
- <property name="toolTip" >
- <string>Clears the orphan search</string>
- </property>
- <property name="text" >
- <string>Clear</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <layoutdefault spacing="6" margin="0" />
- <resources/>
- <connections/>
-</ui>
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanplugincontainer.cpp packagesearch-2.10.1/plugins/orphanplugin/orphanplugincontainer.cpp
--- packagesearch-2.9.0/plugins/orphanplugin/orphanplugincontainer.cpp 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanplugincontainer.cpp 1970-01-01 01:00:00.000000000 +0100
@@ -1,84 +0,0 @@
-//
-// C++ Implementation: orphanplugincontainer
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-
-#include <iprovider.h>
-
-#include <globals.h>
-#include <helpers.h>
-
-#include "orphanplugincontainer.h"
-
-#include "orphanpluginfactory.h"
-
-
-extern "C"
-{
- NPlugin::PluginContainer* new_orphanplugin()
- {
- return new NPlugin::OrphanPluginContainer;;
- }
-
- NPlugin::PluginInformation get_pluginInformation()
- {
- return NPlugin::PluginInformation("orphanplugin", toString(NPackageSearch::VERSION), "Benjamin Mesing");
- }
-}
-
-
-namespace NPlugin
-{
-
-OrphanPluginContainer::OrphanPluginContainer()
-{
- addPlugin("OrphanPlugin");
-}
-
-
-OrphanPluginContainer::~OrphanPluginContainer()
-{
- unloadAllPlugins();
-}
-
-
-/////////////////////////////////////////////////////
-// Plugin Container Interface
-/////////////////////////////////////////////////////
-
-bool OrphanPluginContainer::init(IProvider* pProvider)
-{
- BasePluginContainer::init(pProvider, OrphanPluginFactory::getInstance());
- requestPlugin("OrphanPlugin");
- if (!QFile::exists("/usr/bin/deborphan"))
- {
- provider()->reportError(
- tr("deborphan not available"),
- tr("The <tt>deborphan</tt> application, needed by the orphan plugin, was not found. "
- "The orphan plugin was disabled. "
- "To use the orphan plugin install the deborphan package via<br>"
- "<tt>apt-get install deborphan</tt><br>"
- "and reenable the plugin using <i>Packagesearch -> Control Plugins</i> afterwards."
- )
- );
- return false;
- }
- return true;
-}
-
-
-QString OrphanPluginContainer::title() const
-{
- return QObject::tr("Orphan Plugins");
-}
-
-
-
-}
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanplugincontainer.h packagesearch-2.10.1/plugins/orphanplugin/orphanplugincontainer.h
--- packagesearch-2.9.0/plugins/orphanplugin/orphanplugincontainer.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanplugincontainer.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-//
-// C++ Interface: orphanplugincontainer
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef __NPLUGIN_ORPHANPLUGINCONTAINER_H_2005_06_08
-#define __NPLUGIN_ORPHANPLUGINCONTAINER_H_2005_06_08
-
-#include <qobject.h>
-#include <baseplugincontainer.h>
-
-namespace NPlugin {
-
-/**
-@author Benjamin Mesing
-*/
-class OrphanPluginContainer : public QObject, public BasePluginContainer
-{
-Q_OBJECT
-public:
- OrphanPluginContainer();
-
- virtual ~OrphanPluginContainer();
-
- /** @name PluginContainer Interface
- *
- * These functions implement the PluginContainer interface.
- */
- //@{
- virtual bool init(IProvider* pProvider);
- /** This gets a plugin with the given name.
- *
- * Accepted names are:
- * \li "FilenamePlugin"
- * @see PluginContainer::requestPlugin()
- */
- /** @returns "filenameplugin" */
- virtual string name() const { return "orphanplugin"; };
- virtual QString title() const;
- /** This returns an empty list. */
- vector< pair<QString, QAction*> > actions() { return vector< pair<QString, QAction*> >(); };
- //@}
-};
-
-}
-
-#endif // __NPLUGIN_ORPHANPLUGINCONTAINER_H_2005_06_08
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.cpp packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.cpp
--- packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.cpp 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.cpp 1970-01-01 01:00:00.000000000 +0100
@@ -1,191 +0,0 @@
-//
-// C++ Implementation: orphanplugin
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-
-#include <string>
-
-#include <qlineedit.h>
-#include <qpushbutton.h>
-#include <QMainWindow>
-
-// NPlugin
-#include <iprovider.h>
-
-// NApplication
-#include <runcommandforoutput.h>
-
-// NXml
-#include <xmldata.h>
-
-#include <helpers.h>
-
-#include "orphanplugin.h"
-
-#include "orphansearchinputimpl.h"
-#include "orphanfeedbackwidgetimpl.h"
-
-namespace NPlugin {
-
-const QString OrphanPlugin::PLUGIN_NAME = "OrphanPlugin";
-
-
-OrphanPlugin::OrphanPlugin()
-{
- _pOrphanFeedbackWidget = 0;
- _pProvider = 0;
- _pInputWidget = 0;
-}
-
-
-OrphanPlugin::~OrphanPlugin()
-{
- delete _pInputWidget;
- delete _pOrphanFeedbackWidget;
-}
-
-
-
-/////////////////////////////////////////////////////
-// Plugin Interface
-/////////////////////////////////////////////////////
-
-QString OrphanPlugin::title() const
-{
- return tr("Orphan Plugin");
-}
-
-QString OrphanPlugin::briefDescription() const
-{
- return tr("Plugin to search for orphaned packages.");
-}
-
-QString OrphanPlugin::description() const
-{
- return tr("This plugin supports to search for packages which are orphaned.\n"
- "It uses deborphan to implement the search.");
-}
-
-void OrphanPlugin::init(IProvider* pProvider)
-{
- _pProvider = pProvider;
- QMainWindow* pWindow = pProvider->mainWindow();
- _pInputWidget = new OrphanSearchInputImpl(pWindow);
- connect( _pInputWidget, SIGNAL(searchChanged()), SLOT(evaluateSearch()) );
- _pOrphanFeedbackWidget = new OrphanFeedbackWidget(pWindow);
- _pOrphanFeedbackWidget->setClearButton(
- pProvider->createClearButton(_pOrphanFeedbackWidget, "ClearButton"), 0);
- connect( _pOrphanFeedbackWidget->_pClearButton, SIGNAL(clicked()), SLOT(onClearSearch()) );
-}
-
-QDomElement OrphanPlugin::loadSettings(const QDomElement source)
-{
- if (source.tagName() != name())
- return source;
- float settingsVersion;
- NXml::getAttribute(source, settingsVersion, "settingsVersion", 0.0);
- if (settingsVersion < 0.1)
- {
- qDebug("Settings version for OrphanPlugin to old");
- return NXml::getNextElement(source);
- }
-
- // load the real data
- int searchOption;
- NXml::getAttribute(source, searchOption, "searchOption", 1);
- _pInputWidget->setSearchOption(OrphanSearchInputImpl::OrphanSearchOption(searchOption));
-
- return NXml::getNextElement(source);
-}
-
-void OrphanPlugin::saveSettings(NXml::XmlData& outData, QDomElement parent) const
-{
- QDomElement orphanPluginElement = outData.addElement(parent, name());
- outData.addAttribute(orphanPluginElement, 0.1f, "settingsVersion");
- outData.addAttribute(orphanPluginElement, _pInputWidget->searchOption(), "searchOption");
-}
-
-
-
-/////////////////////////////////////////////////////
-// Search Plugin Interface
-/////////////////////////////////////////////////////
-
-QWidget* OrphanPlugin::shortInputAndFeedbackWidget() const
-{
- return _pOrphanFeedbackWidget;
-}
-
-QWidget* OrphanPlugin::inputWidget() const
-{
- return _pInputWidget;
-}
-
-QString OrphanPlugin::inputWidgetTitle() const
-{
- return tr("Orphans");
-};
-
-
-void OrphanPlugin::clearSearch()
-{
- _pInputWidget->clearSearch();
-// evaluateSearch();
-}
-
-
-bool OrphanPlugin::isInactive() const
-{
- return !_pInputWidget->isActive();
-}
-
-/////////////////////////////////////////////////////
-// Search Helper Methods
-/////////////////////////////////////////////////////
-
-void OrphanPlugin::evaluateSearch()
-{
- qDebug("evaluating orphan search");
- _pProvider->reportBusy(this, tr("Searching orphans"));
- _searchResult.clear();
- if ( !isInactive() ) // if the search is not empty
- {
- QString commandLine = _pInputWidget->getDeborphanCommandLine();
- _pOrphanFeedbackWidget->_pTextDisplay->setText(commandLine);
- NApplication::RunCommandForOutput ro(commandLine);
- if (ro.run(commandLine, 0))
- {
- QStringList lines = ro.getOutput();
- // the output of deborphan is one package per line
- for (QStringList::const_iterator it = lines.begin(); it != lines.end(); ++it)
- {
- _searchResult.insert( extractPackageNameFromDeborphanLine(toString(*it)) );
- }
- }
- else
- _pProvider->reportError(tr("Error running deborphan"), tr("An error occured running <tt>")+ commandLine+"</tt>");
- }
- else
- _pOrphanFeedbackWidget->_pTextDisplay->clear();
-
- _pOrphanFeedbackWidget->setVisible(!isInactive());
-
- _pProvider->reportReady(this);
- emit searchChanged(this);
-}
-
-string OrphanPlugin::extractPackageNameFromDeborphanLine(const string& line )
-{
- return line.substr(0, line.find(":"));
-}
-
-
-
-}
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanpluginfactory.cpp packagesearch-2.10.1/plugins/orphanplugin/orphanpluginfactory.cpp
--- packagesearch-2.9.0/plugins/orphanplugin/orphanpluginfactory.cpp 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanpluginfactory.cpp 1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-//
-// C++ Implementation: orphanpluginfactory
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#include "orphanpluginfactory.h"
-
-#include "orphanplugin.h"
-
-namespace NPlugin {
-
-OrphanPluginFactory* OrphanPluginFactory::_pInstance = 0;
-
-
-OrphanPluginFactory::OrphanPluginFactory()
-{
-}
-
-
-OrphanPluginFactory::~OrphanPluginFactory()
-{
-}
-
-Plugin* OrphanPluginFactory::createPlugin(const string& name) const
-{
- if (name=="OrphanPlugin")
- {
- return new OrphanPlugin();
- }
- else
- return 0;
-}
-
-
-OrphanPluginFactory* OrphanPluginFactory::getInstance()
-{
- if (_pInstance == 0)
- _pInstance = new OrphanPluginFactory;
- return _pInstance;
-}
-
-
-
-}
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanpluginfactory.h packagesearch-2.10.1/plugins/orphanplugin/orphanpluginfactory.h
--- packagesearch-2.9.0/plugins/orphanplugin/orphanpluginfactory.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanpluginfactory.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-//
-// C++ Interface: orphanpluginfactory
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef __NPLUGIN_ORPHANPLUGINFACTORY_H_2005_06_08
-#define __NPLUGIN_ORPHANPLUGINFACTORY_H_2005_06_08
-
-#include <ipluginfactory.h>
-
-namespace NPlugin
-{
-
-class OrphanPluginFactory;
-
-/**
-@author Benjamin Mesing
-*/
-class OrphanPluginFactory : public IPluginFactory
-{
-private:
- OrphanPluginFactory();
- static OrphanPluginFactory* _pInstance;
-public:
- ~OrphanPluginFactory();
- /** @name IPluginFactory interface */
- //@{
- virtual Plugin* createPlugin(const string& name) const;
- //@}
- /** @brief Returns the single instance of this class. */
- static OrphanPluginFactory* getInstance();
-};
-
-}
-
-#endif // __NPLUGIN_ORPHANPLUGINFACTORY_H_2005_06_08
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.h packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.h
--- packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,95 +0,0 @@
-//
-// C++ Interface: orphanplugin
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef __NPLUGINORPHANPLUGIN_H_2005_06_08
-#define __NPLUGINORPHANPLUGIN_H_2005_06_08
-
-#include <QObject>
-
-#include <searchplugin.h>
-
-class OrphanFeedbackWidget;
-
-namespace NPlugin {
-
-class OrphanSearchInputImpl;
-
-
-/**
-@author Benjamin Mesing
-*/
-class OrphanPlugin : public SearchPlugin
-{
-Q_OBJECT
-public:
- static const QString PLUGIN_NAME;
- OrphanPlugin();
- virtual ~OrphanPlugin();
- /** @name Plugin Interface
- *
- * Implementation of the PluginInterface
- */
- //@{
- virtual uint priority() const { return 7; };
- virtual void init(IProvider* pProvider);
- /// @todo not yet implemented
- virtual void setEnabled(bool) {};
- /// @todo not yet implemented
- virtual void setVisible(bool) {};
- virtual QString name() const { return PLUGIN_NAME; }
- /** @returns "OrphanPlugin" */
- virtual QString title() const;
- virtual QString briefDescription() const;
- virtual QString description() const;
- virtual QDomElement loadSettings(const QDomElement source);
- virtual void saveSettings(NXml::XmlData& outData, QDomElement parent) const;
- //@}
-
- /** @name SearchPlugin interface
- *
- * Implementation of the SearchPlugin interface
- */
- //@{
- virtual uint searchPriority() const { return 9; };
- virtual QWidget* inputWidget() const;
- virtual QString inputWidgetTitle() const;
- virtual QWidget* shortInputAndFeedbackWidget() const;
- virtual void clearSearch();
- virtual bool usesFilterTechnique() const { return false; };
- virtual const std::set<string>& searchResult() const { return _searchResult; };
- virtual bool filterPackage(const string&) const { return true; };
- virtual bool isInactive() const;
- //@}
-protected Q_SLOTS:
- /** @brief Evaluates the currently entered search. */
- void evaluateSearch();
- /** @brief Slot that calls clearSearch() */
- void onClearSearch() { clearSearch(); };
-
- /** @brief Extracts the package name from the result line from deborphan.
- *
- * Currently this only strips the arch-part from the line, if available.
- */
- static string extractPackageNameFromDeborphanLine(const string& line );
-private:
- /** Widget where the search might be enterd. */
- OrphanSearchInputImpl* _pInputWidget;
- /** The widget where the search selected is shown in. */
- OrphanFeedbackWidget* _pOrphanFeedbackWidget;
- /** Holds a pointer to the pluginmanager which manages this pugin. */
- IProvider* _pProvider;
- /** This holds the result of the currently active search. */
- std::set<string> _searchResult;
-};
-
-}
-
-#endif // __NPLUGINORPHANPLUGIN_H_2005_06_08
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.kdev4 packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.kdev4
--- packagesearch-2.9.0/plugins/orphanplugin/orphanplugin.kdev4 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphanplugin.kdev4 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[Project]
-Manager=KDevCustomMakeManager
-Name=orphanplugin
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphansearchinputimpl.cpp packagesearch-2.10.1/plugins/orphanplugin/orphansearchinputimpl.cpp
--- packagesearch-2.9.0/plugins/orphanplugin/orphansearchinputimpl.cpp 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphansearchinputimpl.cpp 1970-01-01 01:00:00.000000000 +0100
@@ -1,134 +0,0 @@
-//
-// C++ Implementation: orphansearchinputimpl
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#include "orphansearchinputimpl.h"
-
-#include <QButtonGroup>
-#include <qcheckbox.h>
-
-namespace NPlugin {
-
-OrphanSearchInputImpl::OrphanSearchInputImpl(QWidget* parent)
- : QWidget(parent)
-{
- setupUi(this);
- _pOptionButtonGroup = new QButtonGroup(this);
- _pOptionButtonGroup->addButton(_pDefaultOption);
- _pOptionButtonGroup->addButton(_pLibdevelOption);
- _pOptionButtonGroup->addButton(_pAllOption);
- _pOptionButtonGroup->addButton(_pGuessUselessOption);
- _pOptionButtonGroup->addButton(_pResidualConfigurationOption);
- connect(_pOptionButtonGroup, SIGNAL(buttonClicked(QAbstractButton*)), SLOT(onSearchChanged()));
-}
-
-
-OrphanSearchInputImpl::~OrphanSearchInputImpl()
-{
-}
-
-
-
-void OrphanSearchInputImpl::onSearchChanged()
-{
- emit(searchChanged());
-}
-
-
-
-
-QString OrphanSearchInputImpl::getDeborphanCommandLine()
-{
- QString commandLine = "deborphan";
- // switch according to the buttonID set in the designer
- switch (searchOption())
- {
- case DEFAULT:
- break;
- case LIBDEVEL:
- commandLine.append(" --libdevel");
- break;
- case ALL:
- commandLine.append(" --all-packages --no-show-section");
- break;
- case GUESS_USELESS:
- commandLine.append(" --guess-all");
- break;
- case RESIDUAL_CONFIGURATION:
- commandLine.append(" --find-config");
- break;
- }
- return commandLine;
-}
-
-
-void OrphanSearchInputImpl::clearSearch()
-{
- _pSearchOrphanedOption->setChecked(false);
-}
-
-
-bool OrphanSearchInputImpl::isActive()
-{
- return _pSearchOrphanedOption->isChecked();
-}
-
-OrphanSearchInputImpl::OrphanSearchOption OrphanSearchInputImpl::searchOption() const
-{
- if (_pOptionButtonGroup->checkedButton() == _pDefaultOption)
- return DEFAULT;
- else if (_pOptionButtonGroup->checkedButton() == _pLibdevelOption)
- return LIBDEVEL;
- else if (_pOptionButtonGroup->checkedButton() == _pAllOption)
- return ALL;
- else if (_pOptionButtonGroup->checkedButton() == _pGuessUselessOption)
- return GUESS_USELESS;
- else if (_pOptionButtonGroup->checkedButton() == _pResidualConfigurationOption)
- return RESIDUAL_CONFIGURATION;
- qDebug("Warning: Unknown Orphan search option");
- return DEFAULT;
-}
-
-void OrphanSearchInputImpl::setSearchOption(OrphanSearchOption searchOption)
-{
- QRadioButton* pCurrentButton = 0;
- switch (searchOption)
- {
- case DEFAULT:
- pCurrentButton = _pDefaultOption;
- break;
- case LIBDEVEL:
- pCurrentButton = _pLibdevelOption;
- break;
- case ALL:
- pCurrentButton = _pAllOption;
- break;
- case GUESS_USELESS:
- pCurrentButton = _pGuessUselessOption;
- break;
- case RESIDUAL_CONFIGURATION:
- pCurrentButton = _pResidualConfigurationOption;
- break;
- }
- pCurrentButton->setChecked(true);
-
-}
-
-
-void OrphanSearchInputImpl::on__pSearchOrphanedOption_toggled(bool checked)
-{
- _pOptionGroup->setEnabled(checked);
- emit(searchChanged());
-}
-
-
-
-
-}
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphansearchinputimpl.h packagesearch-2.10.1/plugins/orphanplugin/orphansearchinputimpl.h
--- packagesearch-2.9.0/plugins/orphanplugin/orphansearchinputimpl.h 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphansearchinputimpl.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,70 +0,0 @@
-//
-// C++ Interface: orphansearchinputimpl
-//
-// Description:
-//
-//
-// Author: Benjamin Mesing <bensm...@gmx.net>, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef __NPLUGIN_ORPHANSEARCHINPUTIMPL_H_2005_06_28
-#define __NPLUGIN_ORPHANSEARCHINPUTIMPL_H_2005_06_28
-
-#include <qstring.h>
-
-#include "ui_orphansearchinput.h"
-
-
-class QButtonGroup;
-
-namespace NPlugin
-{
-
-
-
-/**
-@author Benjamin Mesing
-
-*/
-class OrphanSearchInputImpl : public QWidget, public Ui::OrphanSearchInput
-{
- Q_OBJECT
- QButtonGroup* _pOptionButtonGroup;
-public:
- // This enum corresponds to the values in the IDs of the radio buttons
- enum OrphanSearchOption
- {
- DEFAULT = 1,
- LIBDEVEL,
- ALL,
- GUESS_USELESS,
- RESIDUAL_CONFIGURATION
- };
- OrphanSearchInputImpl(QWidget *parent = 0);
- ~OrphanSearchInputImpl();
- virtual QString getDeborphanCommandLine();
- virtual void clearSearch();
- virtual bool isActive();
- /** @brief Returns the current search option.
- *
- * Never returns a value not in OrphanSearchOption.
- */
- virtual OrphanSearchOption searchOption() const;
- /** Sets the search option. */
- virtual void setSearchOption(OrphanSearchOption searchOption);
-
-
-public Q_SLOTS:
- /** @brief Slot which emits the search changed signal. */
- virtual void onSearchChanged();
- void on__pSearchOrphanedOption_toggled(bool checked);
-
-signals:
- void searchChanged();
-};
-
-
-}
-#endif // __NPLUGIN_ORPHANSEARCHINPUTIMPL_H_2005_06_28
diff -Nru packagesearch-2.9.0/plugins/orphanplugin/orphansearchinput.ui packagesearch-2.10.1/plugins/orphanplugin/orphansearchinput.ui
--- packagesearch-2.9.0/plugins/orphanplugin/orphansearchinput.ui 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/orphanplugin/orphansearchinput.ui 1970-01-01 01:00:00.000000000 +0100
@@ -1,159 +0,0 @@
-<ui version="4.0" >
- <class>OrphanSearchInput</class>
- <widget class="QWidget" name="OrphanSearchInput" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>275</width>
- <height>249</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Form1</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="margin" >
- <number>6</number>
- </property>
- <item>
- <widget class="QCheckBox" name="_pSearchOrphanedOption" >
- <property name="toolTip" >
- <string>Search for ophaned package</string>
- </property>
- <property name="whatsThis" >
- <string><p>Enable this option to search for orphaned packages. Orphaned packages are packages which no other package depends on. By default only the <i>libs</i> and <i>oldlibs</i> sections are searched.</p>
-<p>This search uses the <tt>deborphan</tt> tool as backend so make sure it is installed.</p></string>
- </property>
- <property name="text" >
- <string>Search orphaned</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="_pOptionGroup" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="title" >
- <string>Options</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="margin" >
- <number>6</number>
- </property>
- <item>
- <widget class="QRadioButton" name="_pDefaultOption" >
- <property name="toolTip" >
- <string>Search in section lib and oldlib only</string>
- </property>
- <property name="whatsThis" >
- <string>Searches only the lib and oldlib section for orphans.</string>
- </property>
- <property name="text" >
- <string>Search lib and oldlib</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="_pLibdevelOption" >
- <property name="toolTip" >
- <string>Search in section lib, oldlib and libdevel</string>
- </property>
- <property name="whatsThis" >
- <string>Search in the section libdevel in addition to libs and oldlibs.</string>
- </property>
- <property name="text" >
- <string>Search lib, oldlib and libdevel</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="_pAllOption" >
- <property name="toolTip" >
- <string>Search all the packages, instead of only those in the libs section</string>
- </property>
- <property name="text" >
- <string>Search all sections</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="_pGuessUselessOption" >
- <property name="toolTip" >
- <string>Searches packages that are possibly useless</string>
- </property>
- <property name="whatsThis" >
- <string><p>Search for packages where deborphan guesses them not to be of much use to you by examining the package's name and/or description. It will pretend the package is in the main/libs section, and report it as if it were a library.
-</p>
-<p>This method is in no way perfect or even reliable, so beware when using this!
-</p></string>
- </property>
- <property name="text" >
- <string>Guess useless</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="_pResidualConfigurationOption" >
- <property name="toolTip" >
- <string>Searches packages with residual configuration</string>
- </property>
- <property name="whatsThis" >
- <string><p>This option searches for uninstalled packages which still have configuration files on the system.
-</p>
-<p>It implies searching in all sections.</p></string>
- </property>
- <property name="text" >
- <string>Search residual configuration</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <layoutdefault spacing="0" margin="2" />
- <resources/>
- <connections>
- <connection>
- <sender>_pSearchOrphanedOption</sender>
- <signal>toggled(bool)</signal>
- <receiver>_pOptionGroup</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>79</x>
- <y>24</y>
- </hint>
- <hint type="destinationlabel" >
- <x>208</x>
- <y>116</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff -Nru packagesearch-2.9.0/plugins/plugins.pro packagesearch-2.10.1/plugins/plugins.pro
--- packagesearch-2.9.0/plugins/plugins.pro 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/plugins.pro 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-######################################################################
-# Automatically generated by qmake (1.06c) Wed Aug 11 16:37:48 2004
-######################################################################
-
-TEMPLATE = subdirs
-
-
-SUBDIRS += aptplugin \
- debtagsplugin \
- filenameplugin \
- orphanplugin \
-# popconplugin \
- screenshotplugin
diff -Nru packagesearch-2.9.0/plugins/plugins-test.pro packagesearch-2.10.1/plugins/plugins-test.pro
--- packagesearch-2.9.0/plugins/plugins-test.pro 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/plugins/plugins-test.pro 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-
-TEMPLATE = subdirs
-
-SUBDIRS += aptplugin-test debtagsplugin-test
-
-QMAKE_MAKEFILE = Makefile.test
diff -Nru packagesearch-2.9.0/README.md packagesearch-2.10.1/README.md
--- packagesearch-2.9.0/README.md 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/README.md 2025-05-18 18:43:29.000000000 +0200
@@ -28,7 +28,7 @@
## Create Debian release
* within git repo
* update version via dch -v XXX
-* run ./make-release.pl
+* run ./make_release.pl
* chdir to ../packagesearch-release/packagesearch-yyyy-mm-dd
* debuild
* check generated files with lintian, debdiff, dpkg -c,...
diff -Nru packagesearch-2.9.0/TODO packagesearch-2.10.1/TODO
--- packagesearch-2.9.0/TODO 2025-03-09 16:14:22.000000000 +0100
+++ packagesearch-2.10.1/TODO 2025-05-18 18:43:29.000000000 +0200
@@ -21,7 +21,14 @@
-> what do we want to do?
* showing package information is called twice
* support search by section (exclude libraries? / only applications)
+* apt-mark einbinden
+ * Spalte "manuell installiert"
+ * Commands "mark as automatically/manually installed"
+ * add_subdirectory(plugins/orphanplugin)
+ * apt-mark showmanual '~i (~slibs|~soldlibs|~slibdevel|~sintrospection|~sdebug)'
+ * apt-mark showmanual '~i (~slibs|~soldlibs|~sintrospection)'
+
[HHB] Accesses internal file database: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913689
-> use libapt if possible, otherwise «dpkg-query --listfiles»