summaryrefslogtreecommitdiffstats
path: root/content/posts/bitwig-studio-on-fedora-32/index.org
diff options
context:
space:
mode:
authorDante Catalfamo2020-07-01 00:18:39 -0400
committerDante Catalfamo2020-07-01 00:18:39 -0400
commit834cabb52385755aa194e845ad4a69ee0aa3b8c1 (patch)
tree00a3e31f6e2c1c44a79e3760bfac9d6348b6b90f /content/posts/bitwig-studio-on-fedora-32/index.org
parent2683901bae1d65476e2527a1807b747451111331 (diff)
downloadblog-834cabb52385755aa194e845ad4a69ee0aa3b8c1.tar.gz
blog-834cabb52385755aa194e845ad4a69ee0aa3b8c1.tar.bz2
blog-834cabb52385755aa194e845ad4a69ee0aa3b8c1.zip
Add bitwig-studio-fedora post
Diffstat (limited to 'content/posts/bitwig-studio-on-fedora-32/index.org')
-rw-r--r--content/posts/bitwig-studio-on-fedora-32/index.org130
1 files changed, 130 insertions, 0 deletions
diff --git a/content/posts/bitwig-studio-on-fedora-32/index.org b/content/posts/bitwig-studio-on-fedora-32/index.org
new file mode 100644
index 0000000..7337b12
--- /dev/null
+++ b/content/posts/bitwig-studio-on-fedora-32/index.org
@@ -0,0 +1,130 @@
+#+TITLE: Installing Bitwig Studio on Fedora 32
+#+DATE: 2020-06-30T23:02:26-04:00
+#+DRAFT: false
+#+DESCRIPTION: How to install Bitwig Studio on Fedora 32
+#+TAGS[]: linux music
+#+KEYWORDS[]: fedora linux bitwig-studio
+#+SLUG:
+#+SUMMARY:
+
+#+ATTR_HTML: :alt Bitwig studio on Fedora 32
+#+ATTR_HTML: :title Bitwig studio on Fedora 32
+[[file:bitwig-studio-fedora.png]]
+
+[[https://www.bitwig.com/en/home.html][Bitwig Studio]] is an amazing cross platform digital audio workstation
+(DAW). One of its best features, at least for me, is that it works on
+Linux, which is pretty rare in the professional audio world.
+
+While they say on their website that they support "Linux", what they
+mean is that they support Debian-based distributions like Ubuntu, as
+they only provide =.deb= packages. Fortunately for Fedora users,
+there's a way to get around that using =alien=, an application that
+lets us convert =.deb= packages into =.rpm= format.
+
+Unfortunately =alien= isn't able to convert the package
+automatically. The theory is that you should be able install =alien=
+and run =sudo alien -r bitwig-studio-3.2.3.deb=, and it will output a
+working =.rpm= package. The package it produces looks viable, but when
+you go to install it =dnf= produces an error that looks something like
+this
+
+#+BEGIN_SRC
+$ sudo dnf install bitwig-studio-3.2.3-2.x86_64.rpm
+Dependencies resolved.
+=====================================================================================================================
+ Package Architecture Version Repository Size
+=====================================================================================================================
+Upgrading:
+ bitwig-studio x86_64 3.2.3-2 @commandline 183 M
+
+Transaction Summary
+=====================================================================================================================
+Upgrade 1 Package
+
+Total size: 183 M
+Is this ok [y/N]: y
+Downloading Packages:
+Running transaction check
+Transaction check succeeded.
+Running transaction test
+Error: Transaction test error:
+ file / from install of bitwig-studio-3.2.3-2.x86_64 conflicts with file from package filesystem-3.14-2.fc32.x86_64
+ file /usr/bin from install of bitwig-studio-3.2.3-2.x86_64 conflicts with file from package filesystem-3.14-2.fc32.x86_64
+
+#+END_SRC
+
+This seems to be the case with every package I've tried converting
+with =alien=, it seems to be a bug that's cropped up since its last
+release in 2016.
+
+It's caused by =alien= leaving the paths =/= and =/usr/bin= in the
+package's manifest, which are both owned by the =filesystem=
+package. As luck would have it, we can work around this too.
+
+In addition to the =alien= package, we're also going to have to
+install the =rpm-build= package.
+
+#+BEGIN_SRC shell
+sudo dnf install alien rpm-build
+#+END_SRC
+
+Then we convert the package to the =rpm= format, but instead of saving
+it as a package, we create a directory with the necessary build files.
+
+#+BEGIN_SRC shell
+sudo alien -r -g bitwig-studio-3.2.3.deb
+#+END_SRC
+
+Then we enter the directory, which should be named the same as the
+debian package minus the =.deb= file extension. In there we edit the
+=.spec= file and remove the offending lines.
+
+#+BEGIN_SRC diff
+--- bitwig-studio-3.2.3-2.spec
++++ bitwig-studio-3.2.3-2.spec.new
+@@ -18,7 +18,6 @@
+ (Converted from a deb package by alien version 8.95.)
+
+ %files
+-%dir "/"
+ %dir "/usr/"
+ %dir "/usr/share/"
+ %dir "/usr/share/applications/"
+@@ -40,7 +39,6 @@
+ "/usr/share/icons/hicolor/scalable/mimetypes/application-bitwig-project-folder.svg"
+ "/usr/share/icons/hicolor/scalable/mimetypes/application-bitwig-clip.svg"
+ "/usr/share/icons/hicolor/scalable/mimetypes/application-bitwig-project.svg"
+-%dir "/usr/bin/"
+ %dir "/opt/"
+ %dir "/opt/bitwig-studio/"
+ "/opt/bitwig-studio/EULA.txt"
+#+END_SRC
+
+After this we build a binary package using =rpmbuild=.
+
+#+BEGIN_SRC shell
+sudo rpmbuild --buildroot=/path/to/bitwig-studio-3.2.3/ -bb bitwig-studio-3.2.3-2.spec
+#+END_SRC
+
+You must specify the full path for the =--buildroot== argument.
+
+The created =.rpm= package should now be up a directory, next to the initial
+=.deb= file. To install it we run
+
+#+BEGIN_SRC shell
+cd ..
+sudo dnf install bitwig-studio-3.2.3-2.x86_64.rpm
+#+END_SRC
+
+In previous version of the Bitwig, there was an issue where it would
+fail to start, complaining that =libbz2.so.1.0= was missing. This
+could be solved by creating a symbolic link to the system's version.
+
+#+BEGIN_SRC shell
+sudo ln -s /usr/lib64/libbz2.so.1 /opt/bitwig-studio/lib/bitwig-studio/
+#+END_SRC
+
+It doesn't seem to be an issue with the latest release, but I'll leave
+it here in case it happens again.
+
+That's it, Bitwig Studio should be installed and ready to go!