aboutsummaryrefslogtreecommitdiff
path: root/system/smart
diff options
context:
space:
mode:
authorMarcin Slodkiewicz <slociu@wp.pl>2013-12-03 07:57:36 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2013-12-03 07:57:36 +0700
commit45374bcd46037e98818685dd3e1584a04b786668 (patch)
tree6597c7f3e59ddfbdc4066dd05cde0d459ea511ff /system/smart
parentfbace84e4f664a76c7efe958a11899d4db6980e2 (diff)
system/smart: Added (meta-package manager).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/smart')
-rw-r--r--system/smart/README37
-rw-r--r--system/smart/channels18
-rw-r--r--system/smart/doinst.sh23
-rw-r--r--system/smart/slack-desc19
-rw-r--r--system/smart/smart.SlackBuild72
-rw-r--r--system/smart/smart.desktop56
-rw-r--r--system/smart/smart.info10
-rw-r--r--system/smart/smart.pngbin0 -> 4931 bytes
8 files changed, 235 insertions, 0 deletions
diff --git a/system/smart/README b/system/smart/README
new file mode 100644
index 000000000000..463d9b643477
--- /dev/null
+++ b/system/smart/README
@@ -0,0 +1,37 @@
+The Smart Package Manager project has the ambitious objective of creating smart
+and portable algorithms for solving adequately the problem of managing
+software upgrades and installation.
+This tool works in all major distributions and will bring notable advantages
+over native tools currently in use (APT, APT-RPM, YUM, URPMI, etc).
+
+Notice that this project is not a magical bridge between every distribution in
+the planet. Instead, this is software offering better package management for
+these distributions when working with their native packages. Using multiple
+packaging systems at the same time (like rpm and dpkg) is possible but would
+require packages from those systems to follow the same packaging guidelines.
+As a general rule, mixing packaging systems is not recommended.
+
+Smart supports the following repository formats as source channels:
+
+RPM repositories
+ RPM System Database (locally installed packages)
+ APT repositories for .rpm
+ RPM-MD (used by YUM)
+ Red Carpet (used by Ximian/Novell)
+
+ RPM Header List (used by RedHat and Conectiva installation CDs)
+ RPM Directory (a directory with a bunch of RPMs in it, no indexing required)
+ URPMI (used by Mandriva)
+
+DEB repositories
+ DEB System Database (locally installed packages)
+ APT repositories for .deb
+ DEB Directory (a directory with a bunch of DEBs in it, no indexing required)
+
+Slackware
+ Slackware installed packages database
+ Slackware repositories
+
+Mirrors
+ up2date (used by RedHat/Fedora)
+ Conectiva-style mirror description formats
diff --git a/system/smart/channels b/system/smart/channels
new file mode 100644
index 000000000000..f112fa60e394
--- /dev/null
+++ b/system/smart/channels
@@ -0,0 +1,18 @@
+[rpm-sys]
+type = rpm-sys
+name = RPM System
+disabled = yes
+
+[slack-sys]
+type = slack-sys
+name = Slackware System
+
+[slack-site]
+type = slack-site
+name = Slackware Site
+baseurl = http://ftp.slackware.com/pub/slackware/slackware-14.1/
+
+[slack-site-patches]
+type = slack-site
+name = Slackware Patches
+baseurl = http://ftp.slackware.com/pub/slackware/slackware-14.1/patches/ \ No newline at end of file
diff --git a/system/smart/doinst.sh b/system/smart/doinst.sh
new file mode 100644
index 000000000000..6384c552d986
--- /dev/null
+++ b/system/smart/doinst.sh
@@ -0,0 +1,23 @@
+# Handle the incoming configuration files:
+config() {
+ for infile in $1; do
+ NEW="$infile"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+ done
+}
+
+# Prepare the new configuration file
+config etc/smart/channels/channels.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
+
diff --git a/system/smart/slack-desc b/system/smart/slack-desc
new file mode 100644
index 000000000000..0434e668c43c
--- /dev/null
+++ b/system/smart/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+smart: smart (Smart is a meta-package manager)
+smart:
+smart: Smart is a meta-package manager in the spirit of APT, DEB and URPMI
+smart: and others. It can manage RPM, DEB and Slackware packages and
+smart: provides a clean architecture to add new package and repository
+smart: formats (called channels in Smart).
+smart: What sets Smart apart is a dependency-solving algorithm that
+smart: outperforms other package managers, a clean architecture, wide
+smart: support for package and repository formats, and great mirror
+smart: management.
+smart:
diff --git a/system/smart/smart.SlackBuild b/system/smart/smart.SlackBuild
new file mode 100644
index 000000000000..af497a9fd175
--- /dev/null
+++ b/system/smart/smart.SlackBuild
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Slackware build script for smart
+# Written by Marcin Slodkiewicz <slociu@wp.pl>
+
+PRGNAM=smart
+VERSION=${VERSION:-1.4.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+
+python setup.py build
+python setup.py install \
+--root=/$PKG \
+--prefix=/usr
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README TODO LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+
+mkdir -p $PKG/etc/smart/channels
+cat $CWD/channels > $PKG/etc/smart/channels/channels.new
+
+mkdir -p $PKG/usr/share/{applications,pixmaps}
+cat $CWD/smart.desktop > $PKG/usr/share/applications/smart.desktop
+cp $CWD/smart.png $PKG/usr/share/pixmaps/
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mv $PKG/usr/share/man $PKG/usr/man
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/smart/smart.desktop b/system/smart/smart.desktop
new file mode 100644
index 000000000000..67ee550cb2e0
--- /dev/null
+++ b/system/smart/smart.desktop
@@ -0,0 +1,56 @@
+[Desktop Entry]
+Categories=System;PackageManager;
+Encoding=UTF-8
+MultipleArgs=false
+Terminal=false
+Icon=/usr/share/pixmaps/smart.png
+Exec=smart --gui
+Type=Application
+StartupNotify=true
+Name=Smart Package Manager
+GenericName=Package Manager
+Comment=Install packages from various sources
+X-KDE-SubstituteUID=true
+X-KDE-Username=root
+
+Comment[bg]=Инсталиране на пакети от различни източници
+GenericName[bg]=Управление на пакети
+Comment[cs]=Instalace balíčků z různých zdrojů
+GenericName[cs]=Správce balíčků
+Comment[de]=Pakete aus verschiedenen Quellen installieren
+GenericName[de]=Paketmanager
+Comment[el]=Εγκατάσταση από πολλές πηγές
+GenericName[el]=Διαχειριστής Πακέτων
+Comment[es]=Instalación de paquetes de varios orígenes
+GenericName[es]=Gestor de paquetes
+Comment[fi]=Asenna paketteja eri lähteistä
+GenericName[fi]=Ohjelmapakettienhallinta
+Comment[fr]=Installer les packages de plusieurs sources
+GenericName[fr]=Gestionnaire de packages
+Comment[hu]=Csomagok telepítése különféle forrásokból
+GenericName[hu]=Csomagkezelő
+Comment[it]=Installa i pacchetti da varie origini
+GenericName[it]=Programma di gestione dei pacchetti
+Comment[ja]=多様なソースからパッケージをインストールします
+GenericName[ja]=パッケージマネージャ
+Comment[km]=ដំឡើង​កញ្ចប់​ពី​ប្រភព​ផ្សេងៗ
+GenericName[km]=កម្មវិធី​គ្រប់គ្រង​កញ្ចប់
+Comment[nb]=Installer programvarepakker fra ulike kilder
+GenericName[nb]=Pakkebehandler
+Comment[nl]=Installeer pakketten uit diverse bronnen
+GenericName[nl]=Pakketbeheer
+GenericName[pa]=ਪੈਕੇਜ ਮੈਨੇਜਰ
+Comment[pl]=Instalacja pakietów z różnych źródeł
+GenericName[pl]=Menedżer pakietów
+Comment[pt]=Instalar pacotes de várias origens
+GenericName[pt]=Gestor de Pacotes
+Comment[pt_BR]=Instalar pacotes de várias origens
+GenericName[pt_BR]=Gerenciador de Pacotes
+Comment[sv]=Installera paket från olika källor
+GenericName[sv]=Pakethanterare
+Comment[uk]=Встановлення пакунків з різних джерел
+GenericName[uk]=Керування пакунками
+Comment[zh_CN]=安装各种来源的程序包
+GenericName[zh_CN]=包管理器
+Comment[zh_TW]=安裝各種來源的套件
+GenericName[zh_TW]=套件管理員
diff --git a/system/smart/smart.info b/system/smart/smart.info
new file mode 100644
index 000000000000..0e7877afa05d
--- /dev/null
+++ b/system/smart/smart.info
@@ -0,0 +1,10 @@
+PRGNAM="smart"
+VERSION="1.4.1"
+HOMEPAGE="http://labix.org/smart/"
+DOWNLOAD="http://launchpad.net/smart/trunk/1.4.1/+download/smart-1.4.1.tar.bz2"
+MD5SUM="573ef32ba177a6b3c4bf7ef04873fcb6"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Marcin Slodkiewicz"
+EMAIL="slociu@wp.pl"
diff --git a/system/smart/smart.png b/system/smart/smart.png
new file mode 100644
index 000000000000..f0a23d6f35e4
--- /dev/null
+++ b/system/smart/smart.png
Binary files differ