Make your Gnome title bars smaller

Update: See the updated version for Gnome 3.20 and Fedora 24.

I don’t like the size of title bars in the stock Gnome 3. They are big and take to much space on my tiny 12″ screen! But I’ve found an easy solution to this.

gnome-window-title-barAll you need to do is to put the following css code into ~/.config/gtk-3.0/gtk.css

.header-bar.default-decoration {
 padding-top: 3px;
 padding-bottom: 3px;
 font-size: 0.8em;
}

.header-bar.default-decoration .button.titlebutton {
 padding: 0px;
}

Fedora Developer Portal – prototype

I wanted to try an interesting project called Jekyll – a static page generator. It consumes content in textual form like Markdown or Textile, Liquid templates, and HTML and CSS to generate static pages and blogs.

I should be able to install it with simple command:

$ gem install jekyll

But it wasn’t successful. What I’m going to do?

Good news for me is that I work on a project called Fedora Developer Portal! And there is a repo for content with the Ruby section already created. It explains how to install Ruby, Gems, etc. I used that information and successfully installed Jekyll on my machine.

That’s one of the purposes of our new portal – to help people start with new (new for them) technology on Fedora.

First Prototype is Here!

As you might have figured out from the introduction, and from the heading as well, the development slowly started! I just finished a prototype which is running on developer-phracek.rhcloud.com.

Please keep in mind that this is just a prototype that offers very limited content and functionality. The content is not final and will change according to your feedback and ideas :-)

Project Resources

General Information

  • Wiki page – The main project page with description, links to resources, planning etc.

Code & Development

  • Content repo – Repo with all the content in a textual form with Markdown syntax. (Ruby content already created)
  • Website repo – Repo for Jekyll templates that would define the visual look and layout of the website.
  • Design mockups repo – Repo for layout sketches and mockups.
  • Prototype – Prototype of the website with limited content and functionality.

Communication

  • Taiga Project – Project tracking and planning
  • IRC channel #developer-portal on Freenode
  • Issue Trackers in the GitHub projects above

Copr, Dist Git and Patternfly

As in the last year, July, for some reason, happened to be a great time to post some news about our Copr Build Service. At this time, it’s about integrating Copr with:

  • Patternfly – an open interface project
  • Dist Git – a remote Git repository designed to hold RPM package sources

If you can’t wait to see it, you can check the development server that is hopefully running on copr-fe-dev.cloud.fedoraproject.org. But please, remember, it’s a development server – so all the projects built here are a subject of deletion, destruction and all kinds of randomization without notice.

Dist Git for Copr

It all started with a need of uploading sources to the Copr itself – as the only way of building your package was to provide a URL pointing to it. That, however, required all users to have their own public file storage.

We decided to go the Fedora way and use Dist Git – a combination of git repository to store spec files, lookaside cache to store sources, and Gitolite to manage access permissions. Each package will be stored in a repo named as ‘username/project/package’. Each repo will contain branches that represent a target platform. For example: ‘f22′ for Fedora 22, ‘epel7′ for Epel for Centos 7, etc.

It will be gradually deployed in production. The first step is to enable users to upload their .src.rpm files into Copr. At this step, Dist Git will be used as a storage only. Direct access to the repositories will come afterwards.

New User Interface  Patternfly

Enabling Dist Git required some changes to the user interface as well. We didn’t use any framework, that would help us to easily create new elements in the UI. Instead, we had a custom CSS that received new lines of code with each change. As you can imagine, each change took a bit longer than desired, the CSS became messy, and yes, the interface itself became messy as well. At this point, I decided that we need to do a step forward and we finally agreed to rewrite the user interface to Patternfly! Yay!

The Old Copr UI

The old Copr interface

The New Copr UI

The new Copr interface

We need your feedback!

I would like to make Copr as friendly as possible. If you want to help me with that, please provide a feedback as a comment. Do you like it? Do you hate it? Is there anything you miss in the interface? Your feedback is much appreciated!

Software Collections 2.0 available

I finally finished the builds of Software Collections 2.0 and released them on www.softwarecollections.org.

Software Collections bring new versions of software to stable platforms like CentOS without affecting the system or other packages that are installed. Software Collections have their own life cycle that is independent of the system. For example, that allows you to run your application on CentOS 6 and CentOS 7 with the same version of stack underneath.

There are plenty of new components as well as updates of the current ones. Description of each component can be found in the Software Collections Directory.

Components New in Software Collections 2.0
Component Name Software Collection
Perl 5.20.1 rh-perl520
PHP 5.6.5 rh-php56
Python 3.4.2 rh-python34
Ruby 2.2.2 rh-ruby22
Ruby on Rails 4.1.5 rh-ror41
MariaDB 10.0.17 rh-mariadb100
MongoDB 2.6.9 rh-mongodb26
MySQL 5.6.24 rh-mysql56
PostgreSQL 9.4.1 rh-postgresql94
Passenger 4.0.50 rh-passenger40
Common Java Packages 1.1 rh-java-common
Components Updated in Software Collections 2.0
Component Software Collection
PHP 5.4.40 php54
PHP 5.5.21 php55
Python 2.7.8 python27
Node.js 0.10 nodejs010
nginx 1.6.2 nginx16
Apache httpd 2.4.12 httpd24
Thermostat 1.2.0 thermostat1
DevAssistant 0.9.3 devassist09
Maven 3.0.5 maven30
V8 3.14.5.10 v8314

Fedora Developer Portal

I’m starting a new project called Fedora Developer Portal. It would be a new place for developers looking for information about stuff that is packaged in Fedora or searching new features and projects they haven’t heard about. And there are some really great! For example, do you know about Developer Assistant, Vagrant or Copr?

There would be two main types of information that you will get from the website:

The first will help you to explore. Imagine that you are a student of computer science or an existing developer. You might be looking for the best Linux distribution that will fit your needs or you have already chosen Fedora, but you don’t know every feature it might offer for you as a developer. There are great tools, technology and resources that will help you to have your project done, running and distributed to the users.

The second will help you understand how things are packaged. There are plenty of components, libraries and frameworks already packaged in Fedora for languages like Python, Ruby, Perl or PHP. This might be the reason why you chose Fedora, because the collection is quite nice. You will learn how to install them and how to use and include them in your creations.

Both would be divided into five main categories:

  1. Developer Tools
    • Developer Assistant, Vagrant, Docker, …
    • What tool could help you to develop?
  2. Technology
    • Python, Ruby, Perl, PHP, …
    • Which technology should you use?
  3. Deployment
    • Copr, Docker, Openshift, …
    • How to get it running and distribute it to users?
  4. Docker Images and Vagrant Boxes
    • Virtual environments based on Fedora
  5. Blogs

Each section about every project would explain WHAT the project is about and HOW to use it/get it running. If there are some differences between the packaged version and upstream, it will explain what they are and why is that. It may also provide some examples or links to other useful resources.

The whole idea about this project is to provide a single place for new or existing Fedora developers that would help them to discover new projects and features they didn’t know before and to provide them with information about how things are packaged and how to use them on Fedora.

Have a look at the project’s wiki page: https://fedoraproject.org/wiki/Websites/Developer

Any ideas, opinions and feedback are welcome! Just leave a comment here. I’m looking forward to hearing from you!

Community release of Software Collections 1.2

The community version of Software Collections 1.2 has been released today! It brings some updates, bug-fixes and also four new components:

 Other changes

  • Nginx: upgraded to version 1.6.1 and the collection has been renamed to nginx16. Changelog: http://nginx.org/en/CHANGES-1.6
  • Ruby on Rails 4.0: ror40-rubygem-jquery-rails package has been upgraded to version 3.1.0 which brings jQuery JavaScript framework version 1.11.0.
  • Thermostat: upgraded to version 1.0.4 providing a number of bug fixes over the previous version.

The community release of Software Collections 1.2 is now available for CentOS 7 and Red Hat Enterprise Linux 7. Builds for Fedora are coming!

Software Collections: new look and documentation

SoftwareCollections.org website has been given a new fresh look to make your browsing experience a bit better. We have also integrated the full documentation into the website to make it more accessible. Questions? Ask them directly on the web.

Software Collections website

What are Software Collections?

Software Collections allow you to use multiple versions of software on the same system. And it doesn’t affect the system packages which are already installed.

In traditional packaging it’s up to the distribution to choose what packages in which versions they want to include. And a life cycle of the packages is often chosen to fit the distribution’s release cycle.

Software Collections allow you to go the opposite way. Developers can package their software in a version of their choice for the distributions they like. That means it’s the developer who decides about new releases. Life cycle of their packages is independent of the distribution.

Available for Fedora, RHEL and CentOS.

Adam’s blog has just started

Hello people of the world and welcome to my new tiny blog which I’ve just started today! My name is Adam Šamalík and I’m a student at the University of Technology in Brno. I also work in Red Hat.

I hope I will provide you with some useful or interesting stuff including some updates about my work which is currently the Copr build service for Fedora. Have a nice evening, night, morning, afternoon or whatever it is in the time and place you’re reading this and be happy!

Adam