Skip to content

Instantly share code, notes, and snippets.

@cherepanov
Last active October 13, 2019 14:44
Show Gist options
  • Save cherepanov/9d8e062a0e7694ff2018d4a362301d7b to your computer and use it in GitHub Desktop.
Save cherepanov/9d8e062a0e7694ff2018d4a362301d7b to your computer and use it in GitHub Desktop.
compile latest cinnamon on ubuntu 19.10
#set -o xtrace
#set -o errexit
#set -e
sudo apt install -y libmozjs-52-dev libreadline-dev libexif-dev libgail-3-dev
sudo apt install -y debhelper intltool libgdk-pixbuf2.0-dev libgirepository1.0-dev \
libglib2.0-dev libgnomekbd-dev libgtk-3-dev libx11-dev libxkbfile-dev \
python-gi-dev valac libaccountsservice-dev libpulse-dev \
gnome-common gnome-pkg-tools \
libcanberra-dev libdbus-glib-1-dev libjson-glib-dev libupower-glib-dev libxt-dev \
libcanberra-gtk3-dev libcolord-dev libcups2-dev libgudev-1.0-dev liblcms2-dev \
libnotify-dev libnss3-dev librsvg2-dev libwacom-dev libpam0g-dev \
libgoa-1.0-dev libgoa-backend-1.0-dev libmm-glib-dev libnm-dev libnma-dev \
libstartup-notification0-dev libxkbcommon-x11-dev libxcb-res0-dev \
libcjs-dev libcroco3-dev libgstreamer1.0-dev libpolkit-agent-1-dev libwnck-dev libxss-dev
sudo apt install -y libaccountsservice-dev meson yelp-tools gnome-common libsystemd-dev \
libupower-glib-dev libxapp-dev xmlto libcolord-dev libcups2-dev liblcms2-dev \
libnotify-dev libnss3-dev libwacom-dev libpam0g-dev librsvg2-bin cinnamon-settings-daemon-dev \
libgoa-1.0-dev libgoa-backend-1.0-dev libmm-glib-dev libexempi-dev libexif-dev libgail-3-dev \
python3-all libgpgme11-dev libclutter-1.0-dev libclutter-gst-3.0-dev libclutter-gtk-1.0-dev \
libgtksourceview-3.0-dev libmusicbrainz5-dev libwebkit2gtk-4.0-dev \
cdbs libmhash-dev libgcrypt20-dev python-gi-dev \
libgnome-keyring-dev libcryptui-dev libgcr-3-dev python-docutils \
libreadline-dev xvfb devscripts libcanberra-dev libxt-dev \
gnome-pkg-tools gnome-doc-utils gobject-introspection gtk-doc-tools libgirepository1.0-dev libpulse-dev \
libcanberra-gtk3-dev libgudev-1.0-dev librsvg2-dev libmozjs-52-dev \
python3-psutil iso-flag-png python3-setproctitle python3-xapp python3-xlib \
libnm-dev libnma-dev libstartup-notification0-dev libxkbcommon-x11-dev libxcb-res0-dev \
gir1.2-meta-muffin-0.0 libcroco3-dev libmuffin0 libpolkit-agent-1-dev libwnck-dev libxss-dev \
devhelp policykit-1-gnome libayatana-appindicator3-1 libayatana-indicator3-7 libmetacity1 \
mate-polkit mate-polkit-common metacity metacity-common libcaribou0 gir1.2-caribou-1.0 \
gir1.2-keybinder-3.0 libkeybinder-3.0-0 \
gnome-icon-theme-symbolic mate-panel libmate-panel-applet-4-1 mate-desktop libmate-desktop-2-17 mate-desktop-common \
mate-user-guide valac python3-pam python3-pampy python3-pyinotify \
streamer xawtv-plugins python3-tinycss
rm *.deb || true
rm *.dsc || true
rm *.buildinfo || true
rm *.changes || true
rm *.xz || true
git clone https://github.com/linuxmint/xapps.git || true
#rm -rf cinnamon && git clone git://github.com/linuxmint/cinnamon.git
#git clone git://github.com/linuxmint/cinnamon-control-center.git || true
#git clone git://github.com/linuxmint/cinnamon-desktop.git
#git clone git://github.com/linuxmint/cinnamon-menus.git
#git clone git://github.com/linuxmint/cinnamon-screensaver.git
#git clone git://github.com/linuxmint/cinnamon-session.git
#git clone git://github.com/linuxmint/cinnamon-settings-daemon.git
#git clone git://github.com/linuxmint/cinnamon-translations.git
#git clone git://github.com/linuxmint/cjs.git
#git clone git://github.com/linuxmint/muffin.git
#git clone git://github.com/linuxmint/nemo.git
rm errors.log || true
err_report() {
echo "Error on line $1 $2 $3 $4 $(caller)" >> errors.log
}
#trap 'err_report $LINENO' ERR
#set -o errexit
export DEB_BUILD_OPTIONS="nodocs notest nocheck parallel=12 noddebs"
export BUILD="debuild -i -b -us -uc"
#export BUILD="dpkg-buildpackage --no-sign -b"
cd xapps
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
sudo dpkg -i *.deb
cd cinnamon-translations
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd cinnamon-desktop
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd cinnamon-menus
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
sudo dpkg -i *.deb
cd cinnamon-session
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd cinnamon-settings-daemon
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd cinnamon-screensaver
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd cjs
git pull
$BUILD
cd ..
sudo dpkg -i *.deb
cd cinnamon-control-center
git pull
$BUILD
#dpkg-buildpackage -us -uc -ui
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd muffin
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
sudo dpkg -i *.deb
cd cinnamon
git pull
./autogen.sh
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
cd nemo
git pull
$BUILD
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
sudo dpkg -i *.deb
cd nemo-extensions
git pull
for i in `find ./ -maxdepth 1 -mindepth 1 -type d`; do
if [ $i = "./.git" ]; then
continue
fi
cd $i
echo ..... BUILDING: $i
$BUILD
status=$?
[ $status -eq 0 ] && echo "OK" || echo "Failed ${i}" >> log
cd ..
done
if [ $? -ne 0 ]; then
exit 1
fi
cd ..
sudo dpkg -i *.deb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment