From 36954132114242935d6d84691fa569f89b1024c9 Mon Sep 17 00:00:00 2001 From: Julien Lavergne Date: Mon, 29 Feb 2016 22:33:33 +0100 Subject: [PATCH] Split GTK - Qt seeds --- STRUCTURE | 16 ++++-- core | 11 ++-- core-gtk | 18 +++++++ core-qt | 17 ++++++ desktop | 143 +++++++++++--------------------------------------- desktop-gtk | 118 +++++++++++++++++++++++++++++++++++++++++ desktop-qt | 85 ++++++++++++++++++++++++++++++ langpacksize | 70 ++++++++++++++++++++++++ live | 5 +- live-gtk | 19 +++++++ live-qt | 19 +++++++ ship-live | 3 -- ship-live-gtk | 13 +++++ ship-live-qt | 9 ++++ supported | 18 ------- 15 files changed, 417 insertions(+), 147 deletions(-) create mode 100644 core-gtk create mode 100644 core-qt create mode 100644 desktop-gtk create mode 100644 desktop-qt create mode 100644 langpacksize create mode 100644 live-gtk create mode 100644 live-qt create mode 100644 ship-live-gtk create mode 100644 ship-live-qt diff --git a/STRUCTURE b/STRUCTURE index 55ebbf2..297e604 100644 --- a/STRUCTURE +++ b/STRUCTURE @@ -1,9 +1,17 @@ include platform.xenial feature no-follow-recommends -core: standard -desktop: core +core: core-gtk +core-gtk: standard +core-qt: standard +desktop: core desktop-gtk +desktop-gtk: standard +desktop-qt: standard live: desktop live-common +live-gtk: desktop-gtk live-common +live-qt: desktop-qt live-common ship: boot installer desktop d-i-requirements -ship-live: boot live +ship-live: ship-live-gtk +ship-live-gtk: boot live +ship-live-qt: boot live # make sure supported remains the last entry -supported: desktop ship-live supported-common core +supported: desktop desktop-gtk desktop-qt ship-live ship-live-gtk ship-live-qt supported-common core core-gtk core-qt diff --git a/core b/core index 354d52d..8af8235 100644 --- a/core +++ b/core @@ -7,12 +7,11 @@ Task-Seeds: desktop-common * Feature: no-follow-recommends -= LXDE core packages = - * pcmanfm - * lxpanel - * lxsession += LXDE / LXQt core packages = + * openbox + * lxsession = Lubuntu core packages = @@ -24,10 +23,8 @@ Task-Seeds: desktop-common = Other needed packages = * dbus-x11 - * lightdm - * lightdm-gtk-greeter -= Other = += X = * xserver-xorg-video-all # Depend on the driver-all packages, xorg doesn't provide them * xserver-xorg-input-all # and desktop-common seed only recommend them. LP: #1441843 diff --git a/core-gtk b/core-gtk new file mode 100644 index 0000000..086baad --- /dev/null +++ b/core-gtk @@ -0,0 +1,18 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu minimal installation +Task-Extended-Description: This task provides minimal packages for Lubuntu (Ubuntu LXDE environment). +Task-Key: lubuntu-core +Task-Seeds: desktop-common-gtk + + * Feature: no-follow-recommends + += LXDE core packages = + + * pcmanfm + * lxpanel + * lxsession + += Other needed packages = + * lightdm + * lightdm-gtk-greeter diff --git a/core-qt b/core-qt new file mode 100644 index 0000000..28a56fa --- /dev/null +++ b/core-qt @@ -0,0 +1,17 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu minimal installation +Task-Extended-Description: This task provides minimal packages for Lubuntu (Ubuntu LXDE environment). +Task-Key: lubuntu-core +Task-Seeds: desktop-common-gtk + + * Feature: no-follow-recommends + += LXDE core packages = + + * pcmanfm-qt + * lxqt-panel + += Display manager = + * sddm + * sddm-theme-lubuntu-chooser diff --git a/desktop b/desktop index 27ad15e..e0d6489 100644 --- a/desktop +++ b/desktop @@ -5,112 +5,48 @@ Task-Extended-Description: This task provides the Lubuntu (Ubuntu LXDE environme Task-Key: lubuntu-desktop * Feature: no-follow-recommends - -= Lubuntu = +== Default seeds == + + * lubuntu-desktop-gtk * lubuntu-core - * lubuntu-default-session - -= Lxde = - - * lxappearance - * lxappearance-obconf - * lxinput - * lxshortcut - * gpicview - * lxterminal - * file-roller - * lxrandr - * obconf - * x11-utils - * leafpad - * lxlauncher - * lxpanel-indicator-applet-plugin - * lxsession-logout - * lxsession-default-apps - * libfm-modules -== Internet == +== LXDE / LXQt common components == - * firefox - * xul-ext-ubufox - * sylpheed [!powerpc] - * sylpheed-i18n [!powerpc] - * sylpheed-plugins [!powerpc] - * sylpheed-doc [!powerpc] - * pidgin - * transmission + * libfm-modules + +== Accessories == + * scrot == Multimedia == - * gnome-mplayer - * audacious [!powerpc] - * audacious-plugins [!powerpc] * libmtp-runtime # needed by libmtp9 (normally seeded through recommends LP: #1061430) * ffmpegthumbnailer # For videos thumbnails -== Accessories == - - * galculator - * xfburn - * mtpaint - * lxtask - * hardinfo [!powerpc] - * scrot - * gucharmap [!powerpc] - * guvcview - -== Desktopish and/or GNOMEish tools which we do need == +== Desktopish tools which we do need == * desktop-file-utils # map MIME types to apps * xdg-user-dirs # to add the Desktop directory - * xdg-user-dirs-gtk # in pcmanfm + standard directory * gvfs-fuse # for access of non gio applications to gvfs mounts * gvfs-backends # for adding support for backends (photos, network etc ...) to gvfs - - * gnome-system-tools - * gnome-time-admin # Support for time configuration. * ntp # Add support for synchronisation with time servers - - * xfce4-power-manager - * xfce4-power-manager-plugins # Support for lxpanel plugin - * light-locker - * light-locker-settings - * lightdm-gtk-greeter-settings - * language-selector-gnome - * gdebi - * gnome-disk-utility - * simple-scan [!powerpc] - * gnome-keyring - * pinentry-gtk2 # LP: #1473952 - Install the gtk2 version of pinentry, along with gnome-keyring and gpg-agent. - * blueman - * xfce4-notifyd # Replacement for notification-daemon - * libgtk2-perl # Add GTK interface for synaptic (LP: #926581) - * indicator-application-gtk2 # Add indicator icons in notification area by default, - # to workaroud bugs in fallback mode - - * usb-creator-gtk # Adding utility to make USB bootable - -== Office == - - * abiword [!powerpc] - * gnumeric [!powerpc] - * evince - * xpad [!powerpc] == Archive support == + # Add more type of archive support * xz-utils * zip * unzip # also used for .zip support in file-roller == Artwork and Look & Feel == - * dmz-cursor-theme # LP: #923344 + * lubuntu-icon-theme + * dmz-cursor-theme # LP: #923344 == Printing == + * system-config-printer-gnome * cups-driver-gutenprint * cups # our preferred printer management infrastructure @@ -131,11 +67,19 @@ Task-Key: lubuntu-desktop * printer-driver-sag-gdi # support for Rico Aficio SPxxxx printers * printer-driver-brlaser # support for some Brother laser printers +== Sound == + + * alsa-base # needed for proper hardware detection (hotplug/blacklist.d, modprobe.d) + * alsa-utils # basic audio support and mixer level handling + +== Terminal tools (from desktop-common) == + + * bc + * genisoimage == Networking == * wvdial - * network-manager-gnome * modemmanager # Add support for mobile modem LP: #967132 * mobile-broadband-provider-info # LP: #975139 * usb-modeswitch # LP: #979304 @@ -145,62 +89,39 @@ Task-Key: lubuntu-desktop * libnss-mdns # IPv4 link-local DNS support * ca-certificates # common SSL certificates -== Sound == - - * alsa-base # needed for proper hardware detection (hotplug/blacklist.d, modprobe.d) - * alsa-utils # basic audio support and mixer level handling - -== Terminal tools (from desktop-common) == - * bc - * genisoimage - == Low level system plumbery == * xterm # For fake mixer support in lxpanel (LP: #957749) * pm-utils # Add to support suspend in some case. * acpi-support - * synaptic # for our purposes, it's plumbing ... - * software-properties-gtk # Nice GUI to change reporsitory settings / extra drivers + * laptop-detect * update-notifier # For crash report and updates notifications - * ubuntu-release-upgrader-gtk # For upgrade of L/Ubuntu releases. - * lubuntu-software-center - * ubuntu-drivers-common # Make it harder to remove detection support, LP#704597 - - * fcitx - * fcitx-config-gtk2 - * fcitx-frontend-gtk2 - * fcitx-ui-classic - - * apport-gtk # support for ubuntu-bug command + * ubuntu-drivers-common # Make it harder to remove detection support, LP#704597 + * policykit-desktop-privileges # passwordless disk/CPU speed/time operations for admins + * libpam-systemd # logind, cross desktop compatibility + * x11-utils * whoopsie # LP: 1001630 + * kerneloops-daemon # watch for and allow reporting of kernel problems * fonts-droid # Extra font to display asian characters * fonts-nanum # LP: #1437875 - * (pcmciautils) # PCMCIA support for >= 2.6.13-rc1 kernels + * pcmciautils # PCMCIA support for >= 2.6.13-rc1 kernels * inputattach # needed for serial mice * libsasl2-modules # allows integration with MTA and login system - - * xorg # this includes xserver-xorg->xserver-xorg-{input|video}-* (no need to add specific drivers manually) - * !linux-image-* # xorg transitively depends on this, but this would pull in grub-pc; we handle that separately * xkb-data * memtest86+ * anacron # generally appropriate for desktops - * kerneloops-daemon # watch for and allow reporting of kernel problems - * policykit-desktop-privileges # passwordless disk/CPU speed/time operations for admins - * libpam-systemd # logind, cross desktop compatibility + + * python3-aptdaemon.pkcompat # preferred packagekit-system-interface alternative so that we don't end up with packagekit instead == Specific == + * apmd [armel] * pbbuttonsd [powerpc] == Other == * lubuntu-desktop # metapackage for everything here - * python3-aptdaemon.pkcompat # preferred packagekit-system-interface alternative so that we don't end up with packagekit instead - -== Removed == -# * apturl # Remove, pulling webkit2 stack -# * pidgin-microblog Mostly broken LP: #1190406 diff --git a/desktop-gtk b/desktop-gtk new file mode 100644 index 0000000..01741a2 --- /dev/null +++ b/desktop-gtk @@ -0,0 +1,118 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu Desktop (GTK part) +Task-Extended-Description: This task provides the Lubuntu (Ubuntu LXDE environment). +Task-Key: lubuntu-desktop-gtk + + * Feature: no-follow-recommends + += Lubuntu = + + * lubuntu-default-session + += Lxde = + + * lxappearance + * lxappearance-obconf + * lxinput + * lxshortcut + * gpicview + * lxterminal + * file-roller + * lxrandr + * obconf + * leafpad + * lxlauncher + * lxpanel-indicator-applet-plugin + * lxsession-logout + * lxsession-default-apps + +== Internet == + + * firefox + * xul-ext-ubufox + * sylpheed [!powerpc] + * sylpheed-i18n [!powerpc] + * sylpheed-plugins [!powerpc] + * sylpheed-doc [!powerpc] + * pidgin + * transmission + + +== Multimedia == + + * gnome-mplayer + * audacious [!powerpc] + * audacious-plugins [!powerpc] + +== Accessories == + + * galculator + * xfburn + * mtpaint + * lxtask + * hardinfo [!powerpc] + * gucharmap [!powerpc] + * guvcview + +== Desktopish and/or GNOMEish tools which we do need == + + * xdg-user-dirs-gtk # in pcmanfm + standard directory + + * gnome-system-tools + * gnome-time-admin # Support for time configuration. + + * xfce4-power-manager + * xfce4-power-manager-plugins # Support for lxpanel plugin + * light-locker + * light-locker-settings + * lightdm-gtk-greeter-settings + * language-selector-gnome + * gdebi + * gnome-disk-utility + * simple-scan [!powerpc] + * gnome-keyring + * pinentry-gtk2 # LP: #1473952 - Install the gtk2 version of pinentry, along with gnome-keyring and gpg-agent. + * blueman + * xfce4-notifyd # Replacement for notification-daemon + + * indicator-application-gtk2 # Add indicator icons in notification area by default, + # to workaroud bugs in fallback mode + + * usb-creator-gtk # Adding utility to make USB bootable + +== Office == + + * abiword [!powerpc] + * gnumeric [!powerpc] + * evince + * xpad [!powerpc] + + +== Networking == + + * network-manager-gnome + +== Low level system plumbery == + + * synaptic # for our purposes, it's plumbing ... + * software-properties-gtk # Nice GUI to change reporsitory settings / extra drivers + * update-notifier # For crash report and updates notifications + * ubuntu-release-upgrader-gtk # For upgrade of L/Ubuntu releases. + * lubuntu-software-center + + * fcitx + * fcitx-config-gtk2 + * fcitx-frontend-gtk2 + * fcitx-ui-classic + + * apport-gtk # support for ubuntu-bug command + + +== Other == + * lubuntu-desktop-gtk # metapackage for everything here + * python3-aptdaemon.pkcompat # preferred packagekit-system-interface alternative so that we don't end up with packagekit instead + +== Removed == +# * apturl # Remove, pulling webkit2 stack +# * pidgin-microblog Mostly broken LP: #1190406 diff --git a/desktop-qt b/desktop-qt new file mode 100644 index 0000000..8cb051c --- /dev/null +++ b/desktop-qt @@ -0,0 +1,85 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu Qt Desktop +Task-Extended-Description: This task provides the Lubuntu (Ubuntu LXQt environment). +Task-Key: lubuntu-desktop-qt + + * Feature: no-follow-recommends + += Lubuntu = + + * qlubuntu-default-session + + += LXQt = + + * lxqt-common + * lxqt-session + * qterminal + * lxqt-about + * lxqt-globalkeys + * lxqt-policykit + * lxqt-powermanagement + * lxqt-openssh-askpass + * lxqt-runner + * lxqt-notificationd + * lxqt-config + * lxqt-qtplugin + * lxqt-admin + * lximage-qt + * lxqt-sudo + * qps + +# Force svg support for Qt + * libqt5svg5 + + +== Internet == + + * qupzilla + * transmission-qt + +== Multimedia == + + * vlc + +== Accessories == + + * 2048-qt + * juffed + * noblenote + +== Desktopish and/or GNOMEish tools which we do need == + + * gdebi-kde + * pinentry-qt # LP: #1473952 - Install the gtk2 version of pinentry, along with gnome-keyring and gpg-agent. + * usb-creator-kde # Adding utility to make USB bootable + +== Office == + + * libreoffice-calc + * libreoffice-impress + * libreoffice-writer + * libreoffice-kde + * qpdfview + +== Low level system plumbery == + +# Packages management + * muon + * muon-discover + * muon-updater + + * software-properties-kde # Nice GUI to change reporsitory settings / extra drivers + * ubuntu-release-upgrader-qt + + * fcitx + * fcitx-frontend-qt5 + * fcitx-ui-qimpanel + +== Other == + * lubuntu-desktop-qt # metapackage for everything here + +== Removed == +# * apturl # Remove, pulling webkit2 stack +# * pidgin-microblog Mostly broken LP: #1190406 diff --git a/langpacksize b/langpacksize new file mode 100644 index 0000000..5f65891 --- /dev/null +++ b/langpacksize @@ -0,0 +1,70 @@ +#!/usr/bin/python + +import apt, re, sys + +apt_cache = apt.Cache() + +# most spoken languages of the world, prioritized +priority_langs = [ 'en', 'es', 'de', 'fr', 'ru', 'pt', 'it', 'zh-hans', 'pl', 'ja', 'nl', 'cs', 'xh', 'hu', 'zh', 'bn'] + +extra_pkgs_counted = {'gnome': set(), 'kde': set(), '(gnome|kde)': set()} + +def language_size(lang, mode): + '''Return the cumulative size of all language packs related to the given + language code.''' + + sum = 0 + name_re = re.compile('^language-pack-(?:%s-)?%s(?:-|$)' % (mode, lang)) + for p in apt_cache.keys(): + if name_re.match(p): + sum += apt_cache[p].candidate.size + + if sum == 0: + raise Exception('Invalid language: %s' % lang) + + return sum + +def all_languages(): + '''Return list of all available languages.''' + + langs = [] + for p in apt_cache.keys(): + if p.startswith('language-pack-'): + comps = p.split('-') + if len(comps) == 3 and comps[2] != 'zh': + langs.append(comps[2]) + if len(comps) == 4 and comps[2] == 'zh' and comps[3] != 'base': + langs.append('%s-%s' % (comps[2], comps[3])) + return langs + +def main(): + # prioritize languages + langs = all_languages() + langs.sort() + priority_langs.reverse() + for pl in priority_langs: + if pl in langs: + langs.remove(pl) + langs.insert(0, pl) + + gnomesum = 0 + kdesum = 0 + gnomekdesum = 0 + for l in langs: + gsize = language_size(l, 'gnome') + ksize = language_size(l, 'kde') + gksize = language_size(l, '(gnome|kde)') + gnomesum += gsize + kdesum += ksize + gnomekdesum += gksize + + if len(sys.argv) > 1 and sys.argv[1] == 'MB': + print("%-5s G: %8.2f K: %8.2f G+K: %8.2f GSum: %8.2f KSum: %8.2f G+KSum: %8.2f" % \ + (l, gsize/1048576., ksize/1048576., gksize/1048576., + gnomesum/1048576., kdesum/1048576., gnomekdesum/1048576.)) + else: + print("%-5s G: %10i K: %10i G+K: %10i GSum: %10i KSum: %10i G+KSum: %10i" % \ + (l, gsize, ksize, gksize, gnomesum, kdesum, gnomekdesum)) + +if __name__ == '__main__': + main() diff --git a/live b/live index 3efbbc0..501b3b7 100644 --- a/live +++ b/live @@ -3,7 +3,7 @@ Task-Section: user Task-Description: Lubuntu live CD Task-Extended-Description: This task provides the extra packages installed on the Lubuntu live CD. It is neither useful nor recommended to install this task in other environments. Task-Relevance: 2 -Task-Key: ubiquity-frontend-gtk +Task-Key: ubiquity-frontend Task-Test-new-install: skip show Task-Seeds: live-common @@ -11,14 +11,11 @@ Task-Seeds: live-common * Languages: en * language-pack-${Languages} - * language-pack-gnome-${Languages} - * firefox-locale-${Languages} == Ubiquity components == These packages make up the Ubiquity live installer. - * ubiquity-frontend-gtk * ubiquity-slideshow-lubuntu == Lubuntu specifics == diff --git a/live-gtk b/live-gtk new file mode 100644 index 0000000..8e67fe0 --- /dev/null +++ b/live-gtk @@ -0,0 +1,19 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu live CD +Task-Extended-Description: This task provides the extra packages installed on the Lubuntu live CD. It is neither useful nor recommended to install this task in other environments. +Task-Relevance: 2 +Task-Key: ubiquity-frontend-gtk +Task-Test-new-install: skip show +Task-Seeds: live-common + +== Languages support == + + * language-pack-gnome-${Languages} + * firefox-locale-${Languages} + +== Ubiquity components == + +These packages make up the Ubiquity live installer. + + * ubiquity-frontend-gtk diff --git a/live-qt b/live-qt new file mode 100644 index 0000000..7b65c67 --- /dev/null +++ b/live-qt @@ -0,0 +1,19 @@ +Task-Per-Derivative: 1 +Task-Section: user +Task-Description: Lubuntu live CD +Task-Extended-Description: This task provides the extra packages installed on the Lubuntu live CD. It is neither useful nor recommended to install this task in other environments. +Task-Relevance: 2 +Task-Key: ubiquity-frontend-qt +Task-Test-new-install: skip show +Task-Seeds: live-common + +== Languages support == + + * Languages: en + * language-pack-kde-${Languages} + +== Ubiquity components == + +These packages make up the Ubiquity live installer. + + * ubiquity-frontend-kde diff --git a/ship-live b/ship-live index 098803d..3355bab 100644 --- a/ship-live +++ b/ship-live @@ -11,7 +11,6 @@ These packages are needed in order to build Ubuntu packages. * fakeroot == Hardware & Network Access == - * network-manager-gnome * pptp-linux # client for Microsoft-compatible VPN's, needed for some ISPs * sl-modem-daemon # needed for some Winmodems (see OutoftheboxWinmodem) * eagle-usb-utils # needed for some ADSL modems @@ -36,5 +35,3 @@ These packages are needed in order to build Ubuntu packages. * grub-efi [amd64] * grub-efi-amd64-signed [amd64] * shim-signed [amd64] - * oem-config-gtk - * ubiquity-frontend-gtk diff --git a/ship-live-gtk b/ship-live-gtk new file mode 100644 index 0000000..b7ffc63 --- /dev/null +++ b/ship-live-gtk @@ -0,0 +1,13 @@ +The ship-live seed will be added to the live CD as an ordinary package +archive. Here belongs anything that somebody might need to install after +installing the contents of the live CD in order to get online and fetch more +packages. + +== Hardware & Network Access == + + * network-manager-gnome + +== Installer == + + * oem-config-gtk + * ubiquity-frontend-gtk diff --git a/ship-live-qt b/ship-live-qt new file mode 100644 index 0000000..a8d7d97 --- /dev/null +++ b/ship-live-qt @@ -0,0 +1,9 @@ +The ship-live seed will be added to the live CD as an ordinary package +archive. Here belongs anything that somebody might need to install after +installing the contents of the live CD in order to get online and fetch more +packages. + +== Installer == + + * oem-config-kde + * ubiquity-frontend-kde diff --git a/supported b/supported index cb7f2ad..59a633e 100644 --- a/supported +++ b/supported @@ -45,21 +45,3 @@ included due to matching Extra-Include patterns, and has no other effect): Transitional packages: * Extra-Exclude: xserver-xorg-video-amd-dbg - -Exclude some KDE-specific pieces: - - * Extra-Exclude: kdebase-dbg - * Extra-Exclude: kdelibs-dbg - * Extra-Exclude: kdelibs4-doc - * Extra-Exclude: kdepim-dbg - * Extra-Exclude: kdesdk-dbg - * Extra-Exclude: libdbus-qt-1-dev - * Extra-Exclude: libdcop3-java-dev - * Extra-Exclude: libindex0-dev - * Extra-Exclude: libpoppler-qt-dev - * Extra-Exclude: libqt4-debug libqt4-debug-dev qt4-doc - * Extra-Exclude: libsmokekde-dev - * Extra-Exclude: python-kde3-dbg - * Extra-Exclude: python-qt3-dbg - * Extra-Exclude: python-qtext-dbg - * Extra-Exclude: qt-x11-free-dbg