system/smart: Added (meta-package manager).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
fbace84e4f
commit
45374bcd46
|
@ -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
|
|
@ -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/
|
|
@ -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
|
||||
|
|
@ -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:
|
|
@ -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}
|
|
@ -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]=套件管理員
|
|
@ -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"
|
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
Loading…
Reference in New Issue