Closed Anan5a closed 4 years ago
You should be able to clone this and run dpkg-buildpackage
to generate .deb files you can install.
You'll have to resolve dependencies before it will build successfully (It will tell you what it's missing) - you may need to install dpkg-dev
just to be able to run dpkg-buildpackage itself.
Btw, I'm assuming you're on Buster or newer, otherwise it's probably not possible.
Once you build, go back one directory and install the .deb files there: sudo dpkg -i *.deb
- again, it may complain of missing dependencies. Here, you should just be able to run sudo apt-get install -f
to fix things.
@mtwebster The build failed. Here's the log
root@debian:/home/ananta/linuxmint/warp# dpkg-buildpackage
dpkg-buildpackage: info: source package warp
dpkg-buildpackage: info: source version 0.0.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Michael Webster <miketwebster@gmail.com>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
debian/rules clean
dh clean --with=python3,gir
dh_clean
dpkg-source -b .
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building warp in warp_0.0.1.tar.xz
dpkg-source: info: building warp in warp_0.0.1.dsc
debian/rules build
dh build --with=python3,gir
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_configure
make[1]: Entering directory '/home/ananta/linuxmint/warp'
mkdir -p debian/build
meson debian/build --prefix=/usr
Directory already configured.
Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.
If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
make[1]: Leaving directory '/home/ananta/linuxmint/warp'
debian/rules override_dh_auto_build
make[1]: Entering directory '/home/ananta/linuxmint/warp'
ninja -C debian/build
ninja: Entering directory `debian/build'
ninja: no work to do.
make[1]: Leaving directory '/home/ananta/linuxmint/warp'
create-stamp debian/debhelper-build-stamp
debian/rules binary
dh binary --with=python3,gir
dh_testroot
dh_prep
debian/rules override_dh_auto_install
make[1]: Entering directory '/home/ananta/linuxmint/warp'
DESTDIR=/home/ananta/linuxmint/warp/debian/tmp \
ninja -C debian/build install
ninja: Entering directory `debian/build'
[0/1] Installing files.
Installing subdir /home/ananta/linuxmint/warp/data/icons/hicolor to /home/ananta/linuxmint/warp/debian/tmp/usr/share/icons/hicolor
Installing /home/ananta/linuxmint/warp/data/icons/hicolor/scalable/apps/warp.svg to /home/ananta/linuxmint/warp/debian/tmp/usr/share/icons/hicolor/scalable/apps
Installing /home/ananta/linuxmint/warp/data/icons/hicolor/symbolic/apps/warp-symbolic.svg to /home/ananta/linuxmint/warp/debian/tmp/usr/share/icons/hicolor/symbolic/apps
Installing /home/ananta/linuxmint/warp/data/warp.desktop to /home/ananta/linuxmint/warp/debian/tmp/etc/xdg/autostart
Installing /home/ananta/linuxmint/warp/data/org.linuxmint.warp.gschema.xml to /home/ananta/linuxmint/warp/debian/tmp/usr/share/glib-2.0/schemas
Installing /home/ananta/linuxmint/warp/debian/build/src/config.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/accountsService.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/ops.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/prefs.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/machines.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/transfers.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/util.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/src/warp.py to /home/ananta/linuxmint/warp/debian/tmp/usr/libexec/warp
Installing /home/ananta/linuxmint/warp/bin/warp to /home/ananta/linuxmint/warp/debian/tmp/usr/bin
Installing /home/ananta/linuxmint/warp/resources/main-window.ui to /home/ananta/linuxmint/warp/debian/tmp/usr/share/warp
Installing /home/ananta/linuxmint/warp/resources/op-item.ui to /home/ananta/linuxmint/warp/debian/tmp/usr/share/warp
Installing /home/ananta/linuxmint/warp/resources/overview-button.ui to /home/ananta/linuxmint/warp/debian/tmp/usr/share/warp
Installing /home/ananta/linuxmint/warp/resources/prefs-window.ui to /home/ananta/linuxmint/warp/debian/tmp/usr/share/warp
Running custom install script '/home/ananta/linuxmint/warp/install-scripts/meson_generate_and_install_protobuf_files.py /home/ananta/linuxmint/warp/src warp.proto'
Running custom install script '/home/ananta/linuxmint/warp/install-scripts/meson_install_schemas.py'
Running custom install script '/home/ananta/linuxmint/warp/install-scripts/meson_update_icon_cache.py'
make[1]: Leaving directory '/home/ananta/linuxmint/warp'
dh_install
/home/ananta/linuxmint/warp/debian/install: 1: /home/ananta/linuxmint/warp/debian/install: usr/bin: not found
/home/ananta/linuxmint/warp/debian/install: 2: /home/ananta/linuxmint/warp/debian/install: usr/libexec/warp: not found
/home/ananta/linuxmint/warp/debian/install: 3: /home/ananta/linuxmint/warp/debian/install: usr/share/*: not found
/home/ananta/linuxmint/warp/debian/install: 4: /home/ananta/linuxmint/warp/debian/install: /etc/xdg/autostart: Permission denied
dh_install: debian/install is marked executable but does not appear to an executable config.
dh_install:
dh_install: If debian/install is intended to be an executable config file, please ensure it can
dh_install: be run as a stand-alone script/program (e.g. "./debian/install")
dh_install: Otherwise, please remove the executable bit from the file (e.g. chmod -x "debian/install")
dh_install:
dh_install: Please see "Executable debhelper config files" in debhelper(7) for more information.
dh_install:
dh_install: debian/install (executable config) returned exit code 126
make: *** [debian/rules:4: binary] Error 22
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
root@debian:/home/ananta/linuxmint/warp#
Don't build as root.
Before trying again (as a normal user) run git clean -fdx
as root
What about other non Deb based operating systems?
I got most of the dependencies figured out except the warp_pb2 python module which I'm guessing is built internally.
non-debian, you can just build with meson:
meson --prefix=/usr build
ninja -C build
sudo ninja -C build install
Yes, warp_pb2_grpc.py and warp_pb2.py are generated at build time. You can get the build and runtime deps from the debian/control file - the first section is for building, the second is the runtime.
Note on building just using meson - there's a permission bug with the files I haven't fixed yet, if you get permission denied when starting 'warp', run:
sudo chmod a+x /usr/bin/warp
sudo chmod a+x /usr/libexec/warp/warp.py
Yeah that's what I thought and already tried. Output:
git clone https://github.com/linuxmint/warp.git
cd warp
meson --prefix=/usr build
The Meson build system
Version: 0.53.2
Source dir: /tmp/warp
Build dir: /tmp/warp/build
Build type: native build
Project name: warp
Project version: 0.0.1
C compiler for the host machine: ccache cc (gcc 9.2.0 "cc (Solus) 9.2.0")
C linker for the host machine: cc ld.bfd 2.32
Host machine cpu family: x86_64
Host machine cpu: x86_64
Configuring config.py using configuration
Program /tmp/warp/install-scripts/meson_generate_and_install_protobuf_files.py found: YES (/tmp/warp/install-scripts/meson_generate_and_install_protobuf_files.py)
Program meson_install_schemas.py found: YES (/usr/bin/python3 /tmp/warp/install-scripts/meson_install_schemas.py)
Program meson_update_icon_cache.py found: YES (/usr/bin/python3 /tmp/warp/install-scripts/meson_update_icon_cache.py)
Build targets in project: 0
Found ninja-1.10.0 at /usr/bin/ninja
ninja -C build
ninja: Entering directory `build'
ninja: no work to do.
That's ok, do the install step
I've updated the readme with a little more info, closing this
How do i build it for my debian system?