Quantcast
Channel: Bhushan Shah
Viewing all 68 articles
Browse latest View live

Plasma Media Center at Plasma Sprint 2015

$
0
0

Hola gente,

So all plasmoids are gathered in Blue Systems office in beautiful city of Barcelona, Spain for Plasma Sprint 2015. One of the points I wanted to discuss was future of Plasma Media Center. Plasma Media Center got ported to KDE frameworks 5 and Plasma 5 library during last GSoC and with the help of our great Visual Design Group we also revamped the user interface fro Plasma media center. We also have integrated it as Plasma Shell package so plasmashell can load it as shell package and also can switch to mediacenter shell pacage.

At sprint I demostrated the current state of PMC to rest of Plasma team and we discussed some points,

  • We should release it with Plasma 5 (i.e eventually move it to kde/workspace and Plasma 5.3 will have plasma-mediacenter), That will be technical preview for Plasma Media Center.
  • Focus on “Living room” experience, at moment it is more like application and not really a whole mediacenter solution
  • Eventually provide integration between different type of systems and Plasma Media Center (Android, Plasma Active, KDE connect etc)
  • Figure out alternatives for multimedia playing, at moment Plasma Media Center is not able to play stuffs on some distributions like kubuntu due to libav/gstreamer and stuff.
  • Work on polishing user interface and workflow for Plasma Media Center
  • Some of features that should be included in Plasma Media Center, like integrated applications with Plasma Media Center

I also worked on some of the functionality for Plasma Media Center that will be eventually merged or are merged,

  • Integration for services that allows to search media like YouTube, Flickr etc
  • Proper plugin system for Plasma Media Center, so that plugins like UPnP media server and client can be integrated into Plasma Media Center.
  • Allowing user to log into Plasma Media Center session directly from the login manager, this required little change in both plasmashell and Plasma Media Center shell package, now Plasma Media Center ships xsession desktop file for Plasma Media center.

If you want to try current status of Plasma Media Center then you can build the master branch of the plasma-mediacenter repository or you can install the binary packages shipped by various distributions. For example,

  • KUbuntu users can install it through KUbuntu CI ppa
  • Opensuse users can use KDE:Unstable:Extra repository
  • Archlinux users can install plasma-mediacenter-git package

For moving the Plasma Media Center to kde/workspace will require it to be moved to kdereview for review of the plasma-mediacenter code, I will be filing sysadmin ticket and will send to email to plasma-devel and kde-core-devel mailing list for that.

Thanks for reading! I will be looking forward to feedback from community about current state of Plasma Media Center.

Update: I have just requested move of plasma-mediacenter to kdereview from extragear and also sent a mail to plasma-devel/kde-core-devel

Adiós!


KActivities powered recent media in Plasma Media Center

$
0
0

Hello Planet!

As you may have already read the blog post from Eike Hein about Building on new pillars: Activities and KPeople in Plasma 5.3, activities can provide the useful information about the recent applications and resources used by them.

Plasma Media Center is going to use this awesome functionality of activities and will show recently opened media files from current activity in the Home screen of Plasma Media Center. This feature will be available in The Plasma 5.4 release.

Recent videos in Plasma Media Center

Also Plasma Media Center will report the information about recently played media to activities so, task manager and kicker application menu will be able to map recent media files to Plasma Media Center. Main advantage of this activities storing information about recently used resources is applications will not have to do extra wiring to keep the track of the recent files. This information is shared between the different applications so other applications can reuse it.

Thanks!

Tale of Plasmoids in Plasma Media Center

$
0
0

Hello Planet

This is first update of the my GSoC project TV optimized dashboard support in the Plasma Media Center. First let me tell you what this project is about

What if Plasma Had just 7 inputs

Exact usecase of Plasma Media Center is more or less watching your media files on your TV while sitting on the couch, and when we think of input devices for the TV first thing that comes to mind is Remote control. Any remote control will have minimum 7 button inputs

  • Cardinal Controls (up/down/left/right)
  • Select or OK
  • Menu
  • Back

Challenge in this project is to provide the full potential of Plasma to the users of the remote like input devices. Plasma being flexible can support this usecase by means of custom shell package and containment. My job during this summer is to work on containment and shell package to support this usecase.

Progress

In the community bonding period I discussed the whole project with one of awesome member of Visual Design Group, Ken Vermette. Much to my surprise he said to me that he had one draft post with what-if-plasma-had-7-inputs scenario. After discussing various pros and cons of various design proposals I and Ken agreed upon using horizontal carousel like applet strip design.

Mockup

With the great help from my mentor Marco Martin, I am currently working on the containment which will allow to load the plasmoids and navigate through them using the left and right keys. Below is short video of the progress.

In upcoming days I plan to work on the Widget explorer and Widget configuration user interface. I will post more updates here soon. Stay tuned.

Exciting Road Ahead, BlueSystems

$
0
0

Hello planet!

I am pleased to say that now I am sponsored by Blue systems GmBH to work on Plasma mobile and Plasma mobile applications full-time for next 4 months.

During this time period I will be mainly working on Plasma Mobile. I will develop the new Applications for Plasma Mobile as well as port existing ones to work in Plasma Mobile.

It is awesome opportunity for me, I will start to work on this 15th August.

Blue Systems GmBH

So in short,

Plasma++; KDE++;

GSoC Sunday report #1 : Plasma mediacenter running on KF5/Qt5

$
0
0

Hello planet! This is first report for my GSoC project porting plasma mediacenter to Qt5/KF5 and Implementing shell package.

So far I have,

  • With help from sebas ported away plugin loading code from deprecated methods and macros
  • Ported Plasma mediacenter welcome screen and media browser to QtQuick 2.0 and Plasna Next components.
  • Cleaned source code of autotests and ported away from deprecated methods

Now enough words,

Lets checkout some screenshots..

Mediacenter welcome screen

Mediacenter photos browsing

Mediacenter local file browsing

Mediacenter youtube browsing Somehow thumbnails are not working properly for online backends.. This is best screenshot I was able to get.. :D

So that’s it for today.. Next week I have my exams so I will skip next report. Thanks for reading..

Plasma mediacenter 1.3 beta on Arch User Repository

$
0
0

As you already know, Plasma mediacenter 1.3 beta is released on 3rd June.

Many distros like Fedora, openSUSE, KUbuntu have already packaged this beta in their repositories

So to make life of Archers easier, I have uploaded PKGBUILD for Plasma mediacenter 1.3 beta on AUR.

to install use your AUR helper,

packer plasma-mediacenter-git

If you get any bugs please report on bugs.kde.org

PS: This is first package I am going to maintain on Arch Linux User Repos..

GSoC report #2 - Plasma mediacenter functional mode

$
0
0

Hello KDE community,

This is second update to my GSoC 2014 project. Previously I ported homescreen and mediabrowser part of the plasma-mediacenter. My next task is to port mediacontroller and mediaplayer components of the plasma-mediacenter. To port mediacontroller and mediaplayer I also wrote runtimeData class which acts as a bridge between libs and qmlcomponents.

So here is screenshot of the current state

mediaplayer and mediacontroller

At the moment duration slider is broken.. But plasma-mediacenter on KF5 is progressing towards functional mode.

My next plan is to,

  • Fix slider (Infact runtimeData)
  • Port playlist components
  • Add option to toggle plasmashell dashboard
  • Use units provided by PlasmaCore instead of hardcoded values.

Thanks for reading! Stay tuned for more updates.

My first Akademy

$
0
0

Akademy 2014 was my first ever akademy that I attended and I must say that was nice experience for me. I got to meet many people whom I only know with their IRC nicks or just identity usernames. Our pre-registration event took part in the Redhat office, Brno. I reached there at evening and there I meet plasma developers as well as KDE-India people whom I alredy meet once at conf.kde.in, they gave very warm welcome to me.

On next day event took part in the Brno University of Technology, where on first two days there was many exciting talks. Some of them were lightning talks and others were full length technical talk, I also gave 10 minute talk in which I tried to explain “How I met our konqi - in single episode”. This talk included my experience with KDE community so far, How I started to contribute to KDE, Season of KDE, Google summer of Code etc..

After the 2 days of talks there was BoF sessions and workshops, where I attended the Plasma BoF, Plasma mediacenter BoF, KDE Windows BoF, KDE Edu use in India and KDE India BoF. This was really exciting to become a part of the awesome discussions going in this BoFs. Most exciting BoF for me was plasma mediacenter and plasma BoF because I normally work on this parts.

On the last day there was my birthday which I spent in the flight… :P but again that was best birthday gift I got from KDE e.V., Thank you for sponsering my travel and accomodation in Brno, Czech Republic.


SuperX 3.0 Beta Released

$
0
0

SuperX, a relatively new distribution, just released beta for its upcoming 3.0 release. SuperX is a KDE centric distribution, and focuses on giving a polished KDE experience (a marketing statement, SuperX guys use).

SuperX 3.0 Desktop

It is one of the early and few Linux distributions from India, and arguably the most active in development. It has made a mark in Government domain and universities in India. In the year of 2013, the State Government of Assam (for those who don’t know, Assam is a state in northeastern part of India) distributed 29, 887 laptop computers to meritorious high-school passed students and SuperX was the default OS of choice. This might be one of the large OEM-shipment of KDE desktop ever.

SuperX is currently used in Gauhati University in Guwahati, Assam to train Bachelor of Technology students in Linux. The University moved from Windows to locally developed, SuperX. They are also giving training of application development in PyQt and PyKDE and teaching Qt in general to students, under the developers of SuperX. A good initiative by Gauhati University to promote a locally developed distribution and Qt/KDE technologies. On the other side, it is also used in some commerce colleges in Assam, its an example how KDE and open source in general can be used across use cases, may not be necessarily be related to technology.

Here are some of pictures of SuperX being used in Gauhati University (taken from SuperX’s Facebook page):

Students in Gauhati University

SuperX in Gauhati University

The beta release of SuperX 3.0, codenamed ‘Grace’ looks promising. It features a highly customized KDE 4 desktop, a dark plasma theme and some great aesthetic tweaks, Under the hood, it is the same Linux desktop, with all goodness of KDE and Qt. The developers have said that, they are ‘KDE and Qt-Centric but not GTK free’, so you will find some GTK application and tools here and there. They have adopted some of Linux Mint’s tools and integrated them, like integrating superx-sources (a fork of mintsources from Linux Mint) into Muon Suite, not a bad thing IMO.

If you want to test the beta, you can download it from their website. At moment I am also helping in development for this distribution in my free time. Thanks for reading. If you have any questions about SuperX, you can ask me on bshah@superxos.com

Plasma Media Center at Plasma Sprint 2015

$
0
0

Hola gente,

So all plasmoids are gathered in Blue Systems office in beautiful city of Barcelona, Spain for Plasma Sprint 2015. One of the points I wanted to discuss was future of Plasma Media Center. Plasma Media Center got ported to KDE frameworks 5 and Plasma 5 library during last GSoC and with the help of our great Visual Design Group we also revamped the user interface fro Plasma media center. We also have integrated it as Plasma Shell package so plasmashell can load it as shell package and also can switch to mediacenter shell pacage.

At sprint I demostrated the current state of PMC to rest of Plasma team and we discussed some points,

  • We should release it with Plasma 5 (i.e eventually move it to kde/workspace and Plasma 5.3 will have plasma-mediacenter), That will be technical preview for Plasma Media Center.
  • Focus on “Living room” experience, at moment it is more like application and not really a whole mediacenter solution
  • Eventually provide integration between different type of systems and Plasma Media Center (Android, Plasma Active, KDE connect etc)
  • Figure out alternatives for multimedia playing, at moment Plasma Media Center is not able to play stuffs on some distributions like kubuntu due to libav/gstreamer and stuff.
  • Work on polishing user interface and workflow for Plasma Media Center
  • Some of features that should be included in Plasma Media Center, like integrated applications with Plasma Media Center

I also worked on some of the functionality for Plasma Media Center that will be eventually merged or are merged,

  • Integration for services that allows to search media like YouTube, Flickr etc
  • Proper plugin system for Plasma Media Center, so that plugins like UPnP media server and client can be integrated into Plasma Media Center.
  • Allowing user to log into Plasma Media Center session directly from the login manager, this required little change in both plasmashell and Plasma Media Center shell package, now Plasma Media Center ships xsession desktop file for Plasma Media center.

If you want to try current status of Plasma Media Center then you can build the master branch of the plasma-mediacenter repository or you can install the binary packages shipped by various distributions. For example,

  • KUbuntu users can install it through KUbuntu CI ppa
  • Opensuse users can use KDE:Unstable:Extra repository
  • Archlinux users can install plasma-mediacenter-git package

For moving the Plasma Media Center to kde/workspace will require it to be moved to kdereview for review of the plasma-mediacenter code, I will be filing sysadmin ticket and will send to email to plasma-devel and kde-core-devel mailing list for that.

Thanks for reading! I will be looking forward to feedback from community about current state of Plasma Media Center.

Update: I have just requested move of plasma-mediacenter to kdereview from extragear and also sent a mail to plasma-devel/kde-core-devel

Adiós!

KActivities powered recent media in Plasma Media Center

$
0
0

Hello Planet!

As you may have already read the blog post from Eike Hein about Building on new pillars: Activities and KPeople in Plasma 5.3, activities can provide the useful information about the recent applications and resources used by them.

Plasma Media Center is going to use this awesome functionality of activities and will show recently opened media files from current activity in the Home screen of Plasma Media Center. This feature will be available in The Plasma 5.4 release.

Recent videos in Plasma Media Center

Also Plasma Media Center will report the information about recently played media to activities so, task manager and kicker application menu will be able to map recent media files to Plasma Media Center. Main advantage of this activities storing information about recently used resources is applications will not have to do extra wiring to keep the track of the recent files. This information is shared between the different applications so other applications can reuse it.

Thanks!

Tale of Plasmoids in Plasma Media Center

$
0
0

Hello Planet

This is first update of the my GSoC project TV optimized dashboard support in the Plasma Media Center. First let me tell you what this project is about

What if Plasma Had just 7 inputs

Exact usecase of Plasma Media Center is more or less watching your media files on your TV while sitting on the couch, and when we think of input devices for the TV first thing that comes to mind is Remote control. Any remote control will have minimum 7 button inputs

  • Cardinal Controls (up/down/left/right)
  • Select or OK
  • Menu
  • Back

Challenge in this project is to provide the full potential of Plasma to the users of the remote like input devices. Plasma being flexible can support this usecase by means of custom shell package and containment. My job during this summer is to work on containment and shell package to support this usecase.

Progress

In the community bonding period I discussed the whole project with one of awesome member of Visual Design Group, Ken Vermette. Much to my surprise he said to me that he had one draft post with what-if-plasma-had-7-inputs scenario. After discussing various pros and cons of various design proposals I and Ken agreed upon using horizontal carousel like applet strip design.

Mockup

With the great help from my mentor Marco Martin, I am currently working on the containment which will allow to load the plasmoids and navigate through them using the left and right keys. Below is short video of the progress.

In upcoming days I plan to work on the Widget explorer and Widget configuration user interface. I will post more updates here soon. Stay tuned.

Exciting Road Ahead, BlueSystems

$
0
0

Hello planet!

I am pleased to say that now I am sponsored by Blue systems GmBH to work on Plasma mobile and Plasma mobile applications full-time for next 4 months.

During this time period I will be mainly working on Plasma Mobile. I will develop the new Applications for Plasma Mobile as well as port existing ones to work in Plasma Mobile.

It is awesome opportunity for me, I will start to work on this 15th August.

Blue Systems GmBH

So in short,

Plasma++; KDE++;

Screenlocker integration in KWin Wayland

$
0
0

Since last few weeks I was working on the Lockscreen integration with KWin Wayland session, this is most important bit of the Plasma on Wayland session. Currently in X11 lockscreen is managed by ksmserver (KDE’s session manager). It suffers from various security problems which are mentioned on blog post by Martin Gräßlin. This blog post also mentions that in Wayland lockscreen functionality should be moved in kwin_wayland, so that compositor is aware that screen is locked, what windows are owned by greeter, and what should get input events.

To provide screenlocker integration in kwin_wayland, KWin needs to link to kscreenlocker library. Which was being built as static library in plasma-workspace. To avoid dependency loop kscreenlocker was split into different repository to which ksmserver in plasma-workspace and kwin_wayland can depend upon. Next, kwin_wayland was adjusted to start KSldApp (stands for KScreenlocker Daemon Application). As a result, we had beautiful lockscreen on wayland session!

screenshot

However, this was not really secure.. one can just Alt+Tab the screenlocker. oops!

Thoug shal not pass

Now it was time for adding security constraints to KWin, so security promised earlier is available. Security constraints are,

  • When screen is locked, allow only lockscreen/greeter windows to be shown
  • When screen is locked no other clients/windows should be able to get input events
  • Allow only on-screen input methods like maliit to be shown on lockscreen
  • Do not pass any events to KWin effects or any other clients

For this kwin_wayland needs to know which windows are provided by lockscreen or greeter. For this KSldApp passed the client connection created by it to kwin_wayland. This way kwin can identify the greeter windows to apply various security restrictions. kwin_wayland have InputRedirection class which handles getting input events from the input devices and passes it to various clients, effects or applications based upon their priority. InputRedirection was adjusted to pass keyboard events to just lockscreen and mouse events to lockscreen as well as input methods.

However, things that are not secured/tested are :

  • Touch events
  • Global shortcuts for screenlocker
  • Fallback/emergency screen not yet working

Also currently lockscreen on wayland is not unit tested. I plan to work on this in upcoming days.

This secured screen locker architecture for Plasma on Wayland session will be available for Plasma 5.5 release cycle. This also fixes 11 year old bugs like keyboard/mouse grabs prevent screenlocker from starting. Overall its very nice improvement to Plasma Desktop.

Enjoy!

Plasma Mobile : New base system

$
0
0

Last Akademy, the Plasma team revealed the first prototype of the new Plasma Mobile. Plasma Mobile is designed to work on any existing operating system stack, and so far, our reference images were based on Ubuntu Touch. Ubuntu Touch runs the Android system inside an LXC container to make use of Android Hardware Abstraction Layer, binary drivers and other proprietary services required to make use of hardware. To create our reference image, we used to fetch the Ubuntu Touch rootfs, remove Unity/Mir packages and install KF5, kwin_wayland, plasma and other applications on top of it.

Our initial Ubuntu Touch base was Ubuntu 15.04. Eventually, our image started to diverge from the Ubuntu Touch base. For example, we upgraded libhybris to upstream version because libhybris available in Ubuntu archive diverged too much from upstream to be useful in our context. We also had to upgrade to a newer Qt version, and we also needed to upgrade the base system to Ubuntu 16.04 (Xenial Xerus) because we did not have the resources for managing different branches for packaging the latest git KF5/Plasma for 15.04.

To simplify things further, we wanted to experiment if we can get our own operating system stack that can run on mobile devices. After we gathered and analyzed our requirements, we came up with the following base system architecture,

  • Cyanogenmod/AOSP based android system
  • Ubuntu/Neon system inside chroot or container

This new setup can bring some nice advantages for us,

  • Easier to run Plasma Mobile stack with any operating system
  • Theoretically possible to run Plasma on every device supported by Cyanogenmod
  • Control over android stack for Plasma

There are various solutions available to run the Linux system on the Android base inside the chroot. For example, Linux Deploy android application. However they require a complete android system, and support only VNC viewer or similar solutions for GUI. Since we wanted to run full KWin/Wayland session that would not work for us. Eventually I came across LXC for android. This allows one to run Linux system inside the container on Android.

LXC requires various kernel features enabled to run containers, I needed to enable them in the Cyanognenmod kernel for Nexus 5. After various fixes here and there, I got a console working for Ubuntu system:

root@hammerhead:/data/lxc/lxc # lxc-start -n system -F
 * Setting up X socket directories...
    ...done.

Ubuntu Xenial Xerus (development branch) ubuntu-phablet console

ubuntu-phablet login: phablet
Last login: Wed May 12 08:39:00 UTC 1971 on lxc/console
Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 3.4.0-cyanogenmod-g15e5a99-dirty armv7l)

 * Documentation:  https://help.ubuntu.com/

Next thing to do in the line was to run the libhybris tests inside the container, this worked as expected after bind mounting /system and /vendor inside the container.

Test hwcomposer running

After that, we attempted to run kwin_wayland, to our surprise this didn’t work as expected, and all Qt applications crashed with,

WARNING: QApplication was not created in the main() thread.
Segmentation fault

After researching a lot we got to know that Ubuntu Touch ships some patches in bionic to fix this issue. After applying those patches on bionic, KWin showed fancy lockscreen on phone.

Oh its gorgeous

Input, however didn’t work as expected, as kwin failed to register session to logind inside container. KWin requires logind to open the input devices and get input events through its libinput backend. Martin Gräßlin investigated the problem and came up with solution which fetched the XDG_SESSION_ID variable and run TakeControl on that logind session, that in-addition to working input on new phone system, allows to start KWin/Wayland on another tty.

There are several problems with this new stack, and currently I am working on fixing those issues and having 1:1 feature parity with current Ubuntu Touch based setup. Currently there is no easy way to install a zip file to flash this new base, it requires installing stripped-down Cyanogenmod ROM, installing lxc from daily builds and putting Plasma Mobile rootfs in the right place. This is currently documented at KDE community wiki. In upcoming weeks I will be working on deployable image which you can directly flash to your device.


I'm going to QtCon and Akademy 2016

$
0
0

Weee akademy

QtCon starts on this Sept 1st and I will be traveling to Berlin on this Tuesday. This is second Akademy I am attending after Akademy 2014 in Czech Republic. During QtCon I am giving presentation titled Plasma Mobile: what we achieved in year in room A04 on 2nd September. And also I am going to moderate a Student Presentations where students taking part in various mentoring programs in KDE, like GSoC, GCI, SoK, or OPW.

Also I am taking part in various BoFs starting from Sept 5, like Plasma BoF, KDE SoC, and KDE Neon BoF.

Looking forward to productive QtCon! See you in Berlin! :-)

Plasma Mobile running on Nexus 5X (bullhead)

$
0
0

Currently Plasma Mobile is supported by very small number of devices, for example Nexus 5, and One plus one. These devices uses Android 5.0 or CM12 as their base. Current libhybris upstream doesn’t have support for the devices running Android 6.0 (Marshmallow), however there are two different forks of libhybris which are proposed to be merged into upstream libhybris and supports the Android 6.0,

This allows one to use Android 6.0 based binaries on normal Linux userspace and supports both armhf and aarch64 with some changes. I decided to try this on recent Nexus 5X device for which only Android 6.0 and higher version’s binary blobs are available. With some changes in KWin, for example : support for HWcomposer 1.4 and 1.5 and some changes in build infrastructure, it was possible to have Plasma working on Nexus 5X.

Image showing test_hwcomposer running from libhybris:

test_hwcomposer running on Nexus 5X

Image showing Plasma Mobile running on Nexus 5X:

Plasma on Nexus 5X

As of now, just graphics and input are supported on Nexus 5X, however I’ve plan to work on Network, calling and other functionalities in upcoming weeks, which is required to have usable system. However this is good step in direction of having support for more devices, as this will open the possibilities of supporting newer devices, I will be happy to help if someone wants to port/run Plasma Mobile on their device, feel free to contact me over email bshah@kde.org or in #plasma channel on Freenode.

If you like work done by KDE community like this and want to support our work, please consider donating to our Make the World a Better Place! - KDE End of Year 2016 Fundraising campaign.

Happy Holidays!

CyanogenMod, LineageOS and Plasma Mobile

$
0
0

We are at almost end of 2016, unfortunately 2016 also took away great project with it, Cyanogenmod. However there is fork named LineageOS in pipeline. Given we switched our android base to CyanogenMod earlier, lots of people asked me how this will affect Plasma Mobile?

We used CyanogenMod source tree and kernel for generating minimal android system which is used in hammerhead port. All of them are available on github currently. However it is not clear that upto when it will be available and will receive updates given code review system (gerrit) for CyanogenMod is offline. At this point we have two options,

  • Switch to LineageOS, given it is 1:1 fork of CyanogenMod currently it will not require much work.
  • Switch to AOSP base, given we don’t really use the “extra” things provided by CM on top of AOSP.

While option 2 might sound big work, it in fact is not. For instance, in Nexus 5X (bullhead) port, underlying system is AOSP based instead of the CyanogenMod to simplify the things. Personally I had low priority task on phabricator for longterm to switch to AOSP base, but based on current situation this will need to be done with higher priority than earlier. :-(

That’s all for now, I hope this clarifies situation..

Neon CI was down, Why?

$
0
0

This post is public service announcement regarding the KDE Neon infrastructure.

Earlier we KDE neon developers decided that we should build the armhf and/or arm64 packages on Neon CI itself instead of the different Plasma Mobile specific Jenkins Instance. First step to make this happen was the adding ARM architecture in the KDE Neon package archive. We are using the Aptly for serving the packages.

Aptly however have a limitation that if you have started with publishing the empty repository, then you need to specify the complete architectures list initally and that list can’t be updated after publishing. See quote from Aptly docs,

Empty local repos could be published as well (as placeholder, for subsequent updates using aptly publish update command). When publishing empty local repos it is important to specify complete architectures list (using -architectures flag), as it can’t be changed after publishing.

Due to this limitation, only solution we had was to drop and republish the repositories with new architectures added. I started working on this at 15:43:14 IST yesterday, following were the steps taken:

  • Suspended neon CI
  • Stopping the aptly service on the racnoss.kde.org server
  • Create a staging public repository and symlink it to older path
  • Take a backup of the old aptly db at ~/aptly/db
  • Restart the aptly service and run a script to drop and republish the public repositories

At this point, script failed with cryptic 404 error instantly however, upon inspection we realized that it was failing for old wily repos, which are unused since we are using the Ubuntu 16.04 xenial nowadays. Since we are not doing any builds of wily currently, script was modified to skip the published repositories of wily distribution. However next run of script failed with 404 API error again. Cause for this error turned out to be different, it was design flow in the aptly REST API which is exposed when the publish Prefix have / or _ in it. To quote from Aptly docs,

if publishing prefix contains slashes /, they should be replaced with underscores (_) and underscores should be replaced with double underscore (__).

At this point checking state of aptly revealed that out of 10 publishing end points we had just 3 publishing endpoints present, At this point we reverted to older db backup and fixed the script, this time execution of script was sucessful. However I wanted someone to verify that everything is in order before making the new published repositories public. So today after inspection of both old and new repositories I’ve made the change final and also KDE Neon Jenkins is now back in service, running builds.

For users

This change affects the KDE Neon archive. I’ve done my best to verify that everything is in order but still if you face any errors while doing apt update or apt upgrade, please let us know by commenting here or in #kde-neon IRC channel. I will keep backup of old aptly db and public repositories for 1 week and then will clean it if no complaints are received.

Edit: Update URL to Mobile CI and update the description of bug which we hit

Akademy 2017 - Recap

$
0
0

Last month I had opportunity to visit the Almería, Spain for Akademy 2017. Akademy 2017 is KDE’s annual world summit. Akademy makes it possible to meet the felow KDE contributors, some of whom you only know with their IRC nicknames (Yes, I am not old enough to know every contributors yet :p). Here is few things I did at the Akademy 2017.

Plasma Mobile

On the 2nd day I presented a talk about Plasma Mobile, Slides for that talk is available here. This talk covers various topics,

  • Achievements of Plasma Mobile project for year 2017
  • Project Halium
  • New devices

In addition to all the good things, I also discussed about the areas where Plasma Mobile project needs improvement and where community can help.

  • Quality Assurance
  • Testing
  • Applications

There are several external factors which also matters for Plasma Mobile project,

  • Kernel version are too old, hard to maintain security
  • Lack of the open devices
  • Devices requires closed sources BSP to function to full extent

I also talked about the postmarketOS project which aims for the 10 year life-cycle of the phones, postmarketOS is currently using the weston as their reference user interface, and have interest in using Plasma Mobile as the reference user interface.

I also talked about various programs which are working towards the open devices,

  • Open devices program by Sony
  • Effort to support the devices by mainline kernel
  • Fairphone
  • Purism’s Linux Phone(?)

Video recording for this talk is not available yet, but it will be available at files.kde.org soon.

We also had scheduled a Plasma Mobile BoF, where we discussed about the Plasma Mobile Vision, Strategy, Convergence and more planning with rest of the Plasma Team.

Plasma BoF

KDE Student Programs BoF

In addition to being maintainer of Plasma Mobile project I am also the part of KDE Student Programs Adminstration team, on Tuesday we organized a BoF session where students, mentors and admins from various programs such as GSoC, GCI, SoK, OPW took part and discussed how we are doing in this year’s programs, Good or bad? Where we needs to improve? Overall this was quite productive discussion.

KDE SoC BoF

KDE Neon BoF

I also participated in the KDE Neon BoF, in KDE Neon BoF I mainly discussed the addition of ARM architecture in the Neon CI and also took lessons about how OpenQA is used on the KDE Neon CI. I do plan to use the OpenQA eventually for Plasma Mobile images.

Conclusion

Overall this was very productive Akademy, where we discussed various topics which are typically hard to discuss over the communication media like E-mail or IRC. I would like to thank the KDE e.V. for covering my flight and accomodation cost to attend the Akademy. I will have another chance to attend another event next month : Randa Meetings 2017. This year’s randa meetings main topic is Make KDE more accessible.

However to make Randa Meetings possible KDE community needs your help, Please donate at Randa Meetings 2017 Fundraising Campaign.

Viewing all 68 articles
Browse latest View live




Latest Images