diff options
Diffstat (limited to 'debian/_base/applications')
13 files changed, 20 insertions, 494 deletions
diff --git a/debian/_base/applications/kaffeine/debian/KUBUNTU-DEBIAN-DIFFERENCES b/debian/_base/applications/kaffeine/debian/KUBUNTU-DEBIAN-DIFFERENCES deleted file mode 100644 index 1d06672c7..000000000 --- a/debian/_base/applications/kaffeine/debian/KUBUNTU-DEBIAN-DIFFERENCES +++ /dev/null @@ -1,9 +0,0 @@ -kaffeine can't depend on libxine1-ffmpeg -kaffeine does depend on kaffeine-xine, remove conflicts/replaces -add kaffeine-gstreamer.install and description -build-dep on libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev -remove --without-gstreamer -remove DEB_DESTDIR line -install/kaffeine:: Debian additions -install-codecs 755 -DEB_FIXPERMS_EXCLUDE := install-css.sh install-codecs diff --git a/debian/_base/applications/kaffeine/debian/README.Debian b/debian/_base/applications/kaffeine/debian/README.Debian index 74cac614e..7bdf946c3 100644 --- a/debian/_base/applications/kaffeine/debian/README.Debian +++ b/debian/_base/applications/kaffeine/debian/README.Debian @@ -2,7 +2,6 @@ kaffeine for Debian ------------------- The Gstreamer support is experimental and has been disabled. -Due to patents problems, the Lame Mp3 encoding plugin isn't available. CSS issue ========= @@ -11,13 +10,7 @@ CSS is sold by the DVD industry as a "copy protection", though it's more of a "view protection" as it makes DVDs unviewable with unlicensed players. To play these DVDs, a library is needed to decode them, libdvdcss. Due to possible legal issues, Debian cannot distribute libdvdcss, but it is available on other -places on the internet. If it is legal in your country to use css, you can run - - /usr/share/doc/kaffeine/install-css.sh - -at any time to download and install it. - -Thanks to Mikael Hedin <[email protected]> for the script. +places on the internet. Region issue ============ diff --git a/debian/_base/applications/kaffeine/debian/control b/debian/_base/applications/kaffeine/debian/control index 753252158..bb9e41585 100644 --- a/debian/_base/applications/kaffeine/debian/control +++ b/debian/_base/applications/kaffeine/debian/control @@ -5,12 +5,11 @@ Maintainer: Timothy Pearson <[email protected]> XSBC-Original-Maintainer: Debian KDE Extras Team <[email protected]> Uploaders: Riku Voipio <[email protected]>, Fathi Boudra <[email protected]>, Mark Purcell <[email protected]> -Build-Depends: cdbs, debhelper (>= 7.0.50~), quilt, tdelibs14-trinity-dev, +Build-Depends: cdbs, debhelper (>= 7.0.50~), quilt, cmake, tdelibs14-trinity-dev, libcdparanoia0-dev, libogg-dev, libxine2-dev | libxine-dev (>= 1.1.7), libxcb1-dev, libxtst-dev, libgstreamer1.0-dev | libgstreamer0.10-dev, libgstreamer-plugins-base1.0-dev | libgstreamer-plugins-base0.10-dev, - libcdio-cdda-dev, libcdio-paranoia-dev, - automake, autoconf, libtool, libltdl-dev + libcdio-cdda-dev, libcdio-paranoia-dev, libmp3lame-dev Standards-Version: 3.8.4 Package: kaffeine-trinity @@ -26,8 +25,6 @@ Description: versatile media player for TDE . Kaffeine can keep track of multiple playlists simultaneously, and supports autoloading of subtitles files for use while playing video. - . - Homepage: http://kaffeine.sourceforge.net Package: kaffeine-trinity-dbg Section: devel @@ -53,5 +50,3 @@ Description: Gstreamer engine for kaffeine media player [Trinity] network streams easily. . This package provides the Gstreamer playing engine for Kaffeine. - . - Homepage: http://kaffeine.sourceforge.net diff --git a/debian/_base/applications/kaffeine/debian/install-codecs b/debian/_base/applications/kaffeine/debian/install-codecs deleted file mode 100644 index 720dfcd4c..000000000 --- a/debian/_base/applications/kaffeine/debian/install-codecs +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python -import sys,os -import gettext -import apt -from PyQt4.QtCore import * -from PyQt4.QtGui import * - -gettext.textdomain('kaffeine-install-codecs') - -def _(string): - return unicode(gettext.gettext(string), 'utf-8') - -if len(sys.argv) < 2: - sys.exit(1) - -class InstallerOpProgress(apt.OpProgress): - def __init__(self, installer): - self.installer = installer - - def update(self, percent): - self.installer.progress.setValue(percent) - QApplication.processEvents() - - def done(self): - self.installer.progress.setValue(100) - QApplication.processEvents() - -class CodecInstallerWidget(QDialog, apt.OpProgress): - def __init__(self): - QDialog.__init__(self) - self.setWindowTitle(_('Kaffeine codec installer')) - self.setModal(True) - self.status = QLabel() - self.status.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) - self.progress = QProgressBar() - layout = QVBoxLayout() - layout.addWidget(self.status) - layout.addWidget(self.progress) - self.setLayout(layout) - self.setStatus(_('Initializing...')) - - desktop = QApplication.desktop() - self.setMinimumWidth(desktop.width() / 3) - self.adjustSize() - self.move((desktop.width()-self.width()) / 2, - (desktop.height()-self.height()) / 2) - self.show() - self.run() - - def setStatus(self, text): - self.status.setText('<i>' + text + '</i>') - QApplication.processEvents() - - def init_apt_cache(self): - self.setStatus(_('Preparing...')) - self.apt_cache = apt.Cache(InstallerOpProgress(self)) - - def run(self): - if sys.argv[1] == 'ffmpeg': - self.installer = self.install_ffmpeg - elif sys.argv[1] == 'dvdcss': - self.installer = self.install_dvdcss - else: - QMessageBox.critical(self, _('Error'), _('Unknown codec type')) - QApplication.exit(1) - return - - if not self.installer(): - QApplication.exit(1) - return - - os.system('dcop kaffeine KaffeineIface reloadEngine') - os.system('dcop kaffeine KaffeineIface play') - QApplication.exit(0) - - def check_already_installed(self, pkg): - if pkg and pkg.isInstalled: - QMessageBox.critical(self, _('Error'), _('Codec package is already installed')) - QApplication.exit(1) - return True - return False - - def install_ffmpeg(self): - self.init_apt_cache() - pkg = self.search_pkg('libxine','-ffmpeg') - - if self.check_already_installed(pkg): - return False - - confirm = QMessageBox.question(self, _('Codec not found'), - _('Kaffeine does not have a codec ' - 'installed to play this file. ' - 'Do you want to install the codecs?'), - QMessageBox.Yes | QMessageBox.No) - if (confirm == QMessageBox.No): - QApplication.exit(1) - return False - - self.setStatus(_('Installing...')) - QApplication.processEvents() - self.install_cache_package(pkg) - return True - - def install_cache_package(self, pkg): - if os.system('tdesu -d \'adept_batch install ' + pkg.name + '\'') != 0: - QApplication.exit(1) - return - - def search_pkg(self, prefix, suffix = ''): - for pkg in self.apt_cache: - if pkg.name.startswith(prefix) and pkg.name.endswith(suffix): - return pkg - return None - - def install_dvdcss(self): - self.init_apt_cache() - pkg = self.search_pkg('libdvdcss') - - if self.check_already_installed(pkg): - return False - - answer = QMessageBox.question(self, _('Codec not found'), - _('LibDVDCSS (http://www.videolan.org/developers/libdvdcss.html) ' - 'is about to be installed, it allows you to watch encrypted DVD ' - 'videos. This is illegal in some countries which ' - 'require decryption to be authorised by the copyright holder. ' - 'Do you want to install this package?'), - QMessageBox.Yes | QMessageBox.No) - if (answer == QMessageBox.No): - QApplication.exit(1) - return False - - self.setStatus(_('Installing...')) - QApplication.processEvents() - - distro_arch = os.popen('dpkg --print-installation-architecture').read() - distro_arch = distro_arch[:-1] # remove trailing newline - libdvdcss_url = 'http://kubuntu.org/packages/libdvdcss-' + distro_arch + '.deb' - os.system('kfmclient exec ' + libdvdcss_url) - return True - -app = QApplication(sys.argv) -window = CodecInstallerWidget() -window.exec_() - diff --git a/debian/_base/applications/kaffeine/debian/install-css.sh b/debian/_base/applications/kaffeine/debian/install-css.sh deleted file mode 100644 index f374562ff..000000000 --- a/debian/_base/applications/kaffeine/debian/install-css.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -set -e - -site=http://www.dtek.chalmers.se/groups/dvd/deb/ -arch=`dpkg --print-installation-architecture` - -soname=2 -uversion=1.2.5 -available="alpha amd64 hppa i386 ia64 powerpc s390 sparc" -version=${uversion}-1 - -if [ ! -e /usr/bin/wget ] -then - echo "Install wget and run this script again" - exit 1 -fi - -for a in $available; do - if [ "$a" = "$arch" ]; then - wget ${site}libdvdcss${soname}_${version}_${arch}.deb -O /tmp/libdvdcss.deb - dpkg -i /tmp/libdvdcss.deb - exit $? - fi -done - -echo "No binary deb available. Will try to build and install it." -echo "You need to have debhelper, dpkg-dev and fakeroot installed." -echo "If not, interrupt now, install them and rerun this script." -echo "" -echo "This is higly experimental, look out for what happens below." -echo "If you want to stop, interrupt now (control-c), else press" -echo "return to proceed" -read dum - -mkdir -p /tmp/dvd -cd /tmp/dvd -wget ${site}libdvdcss_${uversion}.orig.tar.gz -wget ${site}libdvdcss_${version}.diff.gz -wget ${site}libdvdcss_${version}.dsc -dpkg-source -x libdvdcss_${version}.dsc -cd libdvdcss-${uversion} -fakeroot ./debian/rules binary -echo "Any problems? Interrupt now (control-c) and try to fix" -echo "manually, else go on and install (return)." -dpkg -i ../libdvdcss${soname}_${version}_${arch}.deb diff --git a/debian/_base/applications/kaffeine/debian/kaffeine-iso.desktop b/debian/_base/applications/kaffeine/debian/kaffeine-iso.desktop deleted file mode 100644 index 63cf8f167..000000000 --- a/debian/_base/applications/kaffeine/debian/kaffeine-iso.desktop +++ /dev/null @@ -1,11 +0,0 @@ -# this file is "/usr/share/applications/tde/kaffeine-iso.desktop" -[Desktop Entry] -Exec=kaffeine dvd:%f -Icon=kaffeine -MimeType=application/x-iso -Name=kaffeine -Name[en_US]=kaffeine -StartupNotify=true -Terminal=false -Type=Application -NoDisplay=true diff --git a/debian/_base/applications/kaffeine/debian/kaffeine-trinity.install b/debian/_base/applications/kaffeine/debian/kaffeine-trinity.install index 4777ef63c..89dc59e73 100644 --- a/debian/_base/applications/kaffeine/debian/kaffeine-trinity.install +++ b/debian/_base/applications/kaffeine/debian/kaffeine-trinity.install @@ -13,11 +13,16 @@ debian/tmp/opt/trinity/share/doc/ debian/tmp/opt/trinity/share/icons/ debian/tmp/opt/trinity/share/mimelnk/application/x-kaffeine.desktop debian/tmp/opt/trinity/share/locale/ -debian/tmp/opt/trinity/include/tde/kaffeine/*h +debian/tmp/opt/trinity/include/kaffeine/*h +debian/tmp/opt/trinity/share/man/man1/kaffeine.1 +debian/tmp/opt/trinity/share/services/kaffeinemp3lame.desktop debian/tmp/opt/trinity/share/services/kaffeineoggvorbis.desktop +debian/tmp/opt/trinity/lib/trinity/libkaffeinemp3lame.la +debian/tmp/opt/trinity/lib/trinity/libkaffeinemp3lame.so debian/tmp/opt/trinity/lib/trinity/libkaffeineoggvorbis.la debian/tmp/opt/trinity/lib/trinity/libkaffeineoggvorbis.so debian/tmp/opt/trinity/lib/trinity/libxinepart.la debian/tmp/opt/trinity/lib/trinity/libxinepart.so debian/tmp/opt/trinity/share/services/xine_part.desktop +debian/kaffeine.xpm /opt/trinity/share/pixmaps diff --git a/debian/_base/applications/kaffeine/debian/kaffeine.1 b/debian/_base/applications/kaffeine/debian/kaffeine.1 deleted file mode 100644 index 0d66e29a8..000000000 --- a/debian/_base/applications/kaffeine/debian/kaffeine.1 +++ /dev/null @@ -1,187 +0,0 @@ -.\" This file was generated by kdemangen.pl -.TH KAFFEINE 1 "Apr 2005" "Trinity Desktop Environment" "A media player for TDE" -.SH NAME -kaffeine -- A media player for TDE that can use multiple backends for playback. -.SH SYNOPSIS -kaffeine [Qt-options] [TDE-options] [options] [file] -.SH DESCRIPTION -Kaffeine is a media player for TDE. While it supports multiple player -engines, its default engine is Xine, giving Kaffeine a wide variety of -supported media types and letting Kaffeine access CDs, DVDs, and -network streams easily. - -Kaffeine can keep track of multiple playlists simultaneously, and supports -autoloading of subtitles files for use while playing video. - -Author: Jürgen Kofler -Homepage: http://kaffeine.sourceforge.net - - -.SH OPTIONS -.SS -.SS Arguments: -.TP -.B file -File(s) to play. Can be a local file, a URL, a directory or 'DVD', 'VCD', 'AudioCD'. -.SS Options: -.TP -.B -p, --play -Start playing immediately -.TP -.B -f, --fullscreen -Start in fullscreen mode -.TP -.B -a, --audiodriver <argument> -Set audio driver [default] -.TP -.B -x, --videodriver <argument> -Set video driver [default] -.TP -.B -d, --device <argument> -Set Audio-CD/VCD/DVD device path. [default] -.TP -.B --verbose -Output xine debug messages -.TP -.B -w, --wizard -Run installation wizard -.SS -.SS Generic options: -.TP -.B --help -Show help about options -.TP -.B --help-qt -Show Qt specific options -.TP -.B --help-tde -Show TDE specific options -.TP -.B --help-all -Show all options -.TP -.B --author -Show author information -.TP -.B -v, --version -Show version information -.TP -.B --license -Show license information -.TP -.B -- -End of options -.SS -.SS TDE options: -.TP -.B --caption <caption> -Use 'caption' as name in the titlebar -.TP -.B --icon <icon> -Use 'icon' as the application icon -.TP -.B --miniicon <icon> -Use 'icon' as the icon in the titlebar -.TP -.B --config <filename> -Use alternative configuration file -.TP -.B --dcopserver <server> -Use the DCOP Server specified by 'server' -.TP -.B --nocrashhandler -Disable crash handler, to get core dumps -.TP -.B --waitforwm -Waits for a WM_NET compatible windowmanager -.TP -.B --style <style> -sets the application GUI style -.TP -.B --geometry <geometry> -sets the client geometry of the main widget - see man X for the argument format -.TP -.B --nofork -Don't run in the background. -.SS -.SS Qt options: -.TP -.B --display <displayname> -Use the X-server display 'displayname' -.TP -.B --session <sessionId> -Restore the application for the given 'sessionId' -.TP -.B --cmap -Causes the application to install a private color -map on an 8-bit display -.TP -.B --ncols <count> -Limits the number of colors allocated in the color -cube on an 8-bit display, if the application is -using the QApplication::ManyColor color -specification -.TP -.B --nograb -tells Qt to never grab the mouse or the keyboard -.TP -.B --dograb -running under a debugger can cause an implicit --nograb, use -dograb to override -.TP -.B --sync -switches to synchronous mode for debugging -.TP -.B --fn, --font <fontname> -defines the application font -.TP -.B --bg, --background <color> -sets the default background color and an -application palette (light and dark shades are -calculated) -.TP -.B --fg, --foreground <color> -sets the default foreground color -.TP -.B --btn, --button <color> -sets the default button color -.TP -.B --name <name> -sets the application name -.TP -.B --title <title> -sets the application title (caption) -.TP -.B --visual TrueColor -forces the application to use a TrueColor visual on -an 8-bit display -.TP -.B --inputstyle <inputstyle> -sets XIM (X Input Method) input style. Possible -values are onthespot, overthespot, offthespot and -root -.TP -.B --im <XIM server> -set XIM server -.TP -.B --noxim -disable XIM -.TP -.B --reverse -mirrors the whole layout of widgets -.SS - -.SH SEE ALSO -Full user documentation is available through the TDE Help Center. You can also enter the URL -.BR help:/kaffeine/ -directly into konqueror or you can run -.BR "`khelpcenter help:/kaffeine/'" -from the command-line. -.br -.SH AUTHORS -.nf -Jürgen Kofler <[email protected]> -.br -Christophe Thommeret <[email protected]> -.br diff --git a/debian/_base/applications/kaffeine/debian/kaffeine_codecinstall.desktop b/debian/_base/applications/kaffeine/debian/kaffeine_codecinstall.desktop deleted file mode 100644 index 7f22f6b07..000000000 --- a/debian/_base/applications/kaffeine/debian/kaffeine_codecinstall.desktop +++ /dev/null @@ -1,14 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=ServiceType -X-TDE-ServiceType=Kaffeine/CodecInstall - -# The unplayable codec -[PropertyDef::X-TDE-Kaffeine-codec] -Type=TQString - -[PropertyDef::X-TDE-Kaffeine-engine] -Type=TQString - -[PropertyDef::Exec] -Type=TQString diff --git a/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-dvdcss.desktop b/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-dvdcss.desktop deleted file mode 100644 index 7192a4f53..000000000 --- a/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-dvdcss.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=Kaffeine/CodecInstall -X-TDE-Kaffeine-codec=dvdcss -X-TDE-Kaffeine-engine=xine-engine -Exec=kdialog --sorry "This DVD Video is encrypted. To be able to watch it you will need to install libdvdcss by running from a console: sudo /usr/share/doc/kaffeine/install-css.sh. In some countries it is illegal to install the decryption software without permission from the video copyright holder." - diff --git a/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-ffmpeg.desktop b/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-ffmpeg.desktop deleted file mode 100644 index b32fcac45..000000000 --- a/debian/_base/applications/kaffeine/debian/kaffeine_xine-install-ffmpeg.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Service -ServiceTypes=Kaffeine/CodecInstall -X-TDE-Kaffeine-codec=ffmpeg -X-TDE-Kaffeine-engine=xine-engine -Exec=/opt/trinity/lib/kaffeine/install-codecs ffmpeg - diff --git a/debian/_base/applications/kaffeine/debian/rules b/debian/_base/applications/kaffeine/debian/rules index b50cd2699..d38f693a3 100755 --- a/debian/_base/applications/kaffeine/debian/rules +++ b/debian/_base/applications/kaffeine/debian/rules @@ -1,56 +1,19 @@ #!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/cmake.mk include debian/cdbs/debian-tde.mk -DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include/tde -DEB_CONFIGURE_MANDIR := /opt/trinity/share/man -DEB_CONFIGURE_PREFIX := /opt/trinity -DEB_CONFIGURE_INFODIR := /opt/trinity/share/info - -cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug) - -DEB_CONFIGURE_EXTRA_FLAGS := --without-lame --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib -DEB_INSTALL_MANPAGES_kaffeine-trinity := debian/kaffeine.1 - -DEB_FIXPERMS_EXCLUDE := install-css.sh install-codecs +DEB_CMAKE_EXTRA_FLAGS := \ + -DCMAKE_INSTALL_PREFIX="/opt/trinity" \ + -DCONFIG_INSTALL_DIR="/etc/trinity" \ + -DSYSCONF_INSTALL_DIR="/etc/trinity" \ + -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE="ON" \ + -DCMAKE_SKIP_RPATH="OFF" \ + -DBUILD_ALL="ON" \ + -DWITH_ALL_OPTIONS="ON" DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ && echo xz || echo bzip2) - -post-patches:: debian/stamp-bootstrap - -debian/stamp-bootstrap: -ifneq "$(wildcard /usr/share/libtool/ltmain.sh)" "" - cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh -endif -ifneq "$(wildcard /usr/share/libtool/config/ltmain.sh)" "" - cp -f /usr/share/libtool/config/ltmain.sh admin/ltmain.sh -endif -ifneq "$(wildcard /usr/share/libtool/build-aux/ltmain.sh)" "" - cp -f /usr/share/libtool/build-aux/ltmain.sh admin/ltmain.sh -endif - cp -f /usr/share/aclocal/libtool.m4 admin/libtool.m4.in - - make -f admin/Makefile.common cvs - touch debian/stamp-bootstrap - -install/kaffeine-trinity:: - install -D -p -m0644 debian/kaffeine.xpm debian/$(cdbs_curpkg)/opt/trinity/share/pixmaps/kaffeine.xpm - install -D -p -m0644 debian/kaffeine-trinity.lintian-overrides debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg) - install -D -p -m0755 debian/install-css.sh debian/$(cdbs_curpkg)/opt/trinity/share/doc/kaffeine/install-css.sh - install -D -p -m0644 debian/kaffeine-iso.desktop debian/$(cdbs_curpkg)/opt/trinity/share/applications/tde/kaffeine-iso.desktop - - #Debian additions - install -D -p -m0755 debian/install-codecs debian/$(cdbs_curpkg)/opt/trinity/lib/kaffeine/install-codecs - install -D -p -m0644 debian/kaffeine_xine-install-dvdcss.desktop debian/$(cdbs_curpkg)/opt/trinity/share/services/kaffeine_xine-install-dvdcss.desktop - install -D -p -m0644 debian/kaffeine_xine-install-ffmpeg.desktop debian/$(cdbs_curpkg)/opt/trinity/share/services/kaffeine_xine-install-ffmpeg.desktop - install -D -p -m0644 debian/kaffeine_codecinstall.desktop debian/$(cdbs_curpkg)/opt/trinity/share/servicetypes/kaffeine_codecinstall.desktop - - # file shipped by tdelibs - rm -f debian/$(cdbs_curpkg)/opt/trinity/share/mimelnk/application/x-mplayer2.desktop - # Bogus, shouldn't be shipped.. - rm -f debian/$(cdbs_curpkg)/opt/trinity/share/doc/tde/HTML/en/doc/CMakeLists.txt - -binary-install/kaffeine-trinity:: - mv debian/$(cdbs_curpkg)/usr/share/man debian/$(cdbs_curpkg)/opt/trinity/share/ diff --git a/debian/_base/applications/kaffeine/debian/watch b/debian/_base/applications/kaffeine/debian/watch deleted file mode 100644 index 3f054ccd4..000000000 --- a/debian/_base/applications/kaffeine/debian/watch +++ /dev/null @@ -1,2 +0,0 @@ -version=3 -http://sf.net/kaffeine/kaffeine-([\d.].[\d.].[\d])\.tar\.bz2 debian svn-upgrade |