Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

Building birdie -- a Twitter client -- for Red Hat Enterprise Linux 7 Beta

<p>&nbsp;</p> <quillbot-extension-portal></quillbot-extension-portal>

March 18, 2014
Ryan Lerch
Related topics:
Linux
Related products:
Red Hat Enterprise Linux

    Birdie is a beautiful, new Twitter client for the Linux desktop that is not included as official software in Red Hat Enterprise Linux 7 Beta. This post details the steps I followed, and a few of the issues faced when building and packaging birdie for RHEL7 Beta.

    Setting up your build environment

    Starting with a clean install of the RHEL7 Beta Workstation, install the Development Tools group, and the rpmdevtools package with the commands:

    sudo yum groupinstall "Development tools"
    sudo yum install rpmdevtools

    Next, setup the rpmbuild directory in your home directory with the command:

    rpmdev-setuptree

    Get the birdie source

    Download the birdie source from GitHub using the command

    git clone https://github.com/birdieapp/birdie.git

    The main branch of birdie contains GNOME and GTK features not available to us, so we need to use the "legacy" branch of birdie. Use the following commands to switch to the legacy branch, and to create a tarball of the birdie legacy branch source:

    cd birdie
    git checkout legacy
    git archive --format=tar.gz --prefix=birdie-1.1/ legacy &gt; birdie-1.1.tar.gz

    Now, copy the newly created birdie tarball into the SOURCES directory in the ~/rpmbuild directory.

    cp birdie-1.1.tar.gz ~/rpmbuild/SOURCES/

    Getting and editing the birdie Specfile

    Since birdie is in Fedora, we are now going to grab the srpm from the upstream Fedora package, and extract the specfile out of it. First, download the srpm:

    wget https://kojipkgs.fedoraproject.org//packages/birdie/1.1/1.fc20/src/birdie-1.1-1.fc20.src.rpm

    Then extract the specfile from the srpm, and copy it to the ~/rpmbuild/SPECS directory with:

    rpm2cpio birdie-1.1-1.fc20.src.rpm | cpio -id "birdie.spec"
    cp birdie.spec ~/rpmbuild/SPECS/

    Finally, because the Fedora birdie builds against birdie trunk/master, not the legacy branch we want, we need to change a few build dependencies in the specfile for birdie to build on RHEL7 Beta. Remove the following lines in birdie.spec

    BuildRequires: gtk3-devel &gt;= 3.10
    BuildRequires: vala-devel &gt;= 0.22.1

    and change them to

    BuildRequires: gtk3-devel
    BuildRequires: vala-devel
    BuildRequires: libwnck3-devel

    Additionally, change the following two lines from:

    %{_datadir}/glib-2.0/schemas/org.birdieapp.birdie.gschema.xml
    %{_datadir}/appdata/%{name}.appdata.xml

    to

    %{_datadir}/glib-2.0/schemas/org.*.birdie.gschema.xml
    #%{_datadir}/appdata/%{name}.appdata.xml

    Attempt to build the birdie rpm

    First up, we need to install all the build dependencies that birdie requires to build. To do this, use the command:

    sudo yum-builddep ~/rpmbuild/SPECS/birdie.spec

    then build the birdie binary locally with:

    rpmbuild -ba ~/rpmbuild/SPECS/birdie.spec

    However, this build will most likely fail, with the following error (it will be in the scroll back a ways)

    error: Package `Dbusmenu-0.4' not found in specified Vala API directories or GObject-Introspection GIR directories

    Turns out, Birdie Legacy actually requires the libdbusmenu-devel package as a builddep too.

    Building libdbusmenu

    libdbusmenu is not available in RHEL7 Beta, so we have to build that one from the source too. First, change into the SRPM directory in ~/rpmbuild. and download the SRPM from Fedora:

    cd ~/rpmbuild/SRPMS/
    wget https://kojipkgs.fedoraproject.org//packages/libdbusmenu/12.10.2/5.fc20/src/libdbusmenu-12.10.2-5.fc20.src.rpm

    Install the builddeps for, then build the libdbusmenu packages:

    sudo yum-builddep ~/rpmbuild/SRPMS/libdbusmenu-12.10.2-5.fc20.src.rpm
    rpmbuild --rebuild ~/rpmbuild/SRPMS/libdbusmenu-12.10.2-5.fc20.src.rpm

    Then install what we just built. First, the libdbusmenu package, followed by the libdbusmenu-devel package.

    sudo yum localinstall ~/rpmbuild/RPMS/x86_64/libdbusmenu-12.10.2-5.el7.x86_64.rpm
    sudo yum localinstall ~/rpmbuild/RPMS/x86_64/libdbusmenu-devel-12.10.2-5.el7.x86_64.rpm

    Try the birdie build again

    Use the same command as before to build the birdie binary:

    rpmbuild -ba ~/rpmbuild/SPECS/birdie.spec

    Now, once the package is built, you should be able to install birdie with:

    sudo yum localinstall ~/rpmbuild/RPMS/x86_64/birdie-1.1-1.el7.x86_64.rpm

    To start birdie, either type "birdie" in the command line, or find it in the Applications menu under the Internet category.

    Alternatively, just install birdie.

    If you just want to install birdie, and not bother about building it yourself, there is a COPR repo set up to install a pre-built version of Birdie for RHEL7 Beta.

    First, enable the repo on your system:

    sudo curl -o /etc/yum.repos.d/birdie-rhel7.repo https://copr.fedoraproject.org/coprs/ryanlerch/birdie/repo/epel-7-x86_64/

    Then install birdie with:

    sudo yum install birdie

    If you want to learn more about COPR, you should go check out this post which will show you how to get an account and get things built that you can share with others.

    Last updated: June 6, 2023

    Recent Posts

    • Deploy MemPalace MCP Server on Red Hat OpenShift AI

    • Get ready for Ansible Automation Platform 2.7

    • Manage LLM evaluation workloads at scale with EvalHub and Kueue

    • Troubleshoot application misbehavior after an OpenShift upgrade

    • Preserve OpenShift Pipelines logs with OpenTelemetry

    What’s up next?

     

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.