Coder Social home page Coder Social logo

deb2snap's People

Contributors

ads20000 avatar alfonsosanchezbeato avatar anthonywong avatar mikix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deb2snap's Issues

can not parse package.yaml: missing required fields 'vendor'

./deb2snap -d 15.04 hello gives an error:

can not parse package.yaml: missing required fields 'vendor' (from: "name: hello\nversion: 2.9-2\n\narchitecture: amd64\n\nbinaries:\n - name: bin/hello\n")

However the packaging guide says "vendor" is optional.
https://developer.ubuntu.com/en/snappy/guides/packaging-format-apps/

vendor (optional)

The name and e-mail or URL for the person providing support for this package.

Not sure something wrong with snappy build or deb2snap needs to mark --vendor mandatory.

Hide selected paths from the system

If using this on Qt applications bundled together with a certain Qt version as as a snap, then the application may try to load the Qt from the sytem which does not match the Qt in the snap, resulting in errors like

Cannot mix incompatible Qt library (version 0x40807) with this library (version 0x40806)
Aborted

Is there a way to tell the preloaded library to NOT use (i.e., hide) certain files/directories (and their subdirectories) from the base system (e.g., /usr/lib/x86_64-linux-gnu/qt5/)? I would basically like to pretend that this directory does not exist in the OS (only in the snap).

Something like

export SNAPPY_PRELOAD_HIDE="/usr/lib/x86_64-linux-gnu/qt5/:/usr/lib/x86_64-linux-gnu/qt4/"

Please let me know if my question is clear.
Thanks!

cannot be built on armhf

I'm not sure deb2snap is targeting onto armhf, but I've got an error from make.

I'm running commands inside pbuilder-dist vivid armhf login to create a deb2snapped package for armhf.

# make
mkdir -p builddir
cd builddir && cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: /deb2snap/builddir
cd builddir && make
make[1]: Entering directory '/deb2snap/builddir'
make[2]: Entering directory '/deb2snap/builddir'
make[3]: Entering directory '/deb2snap/builddir'
make[3]: Leaving directory '/deb2snap/builddir'
make[3]: Entering directory '/deb2snap/builddir'
[ 50%] Building C object src/CMakeFiles/snappypreload32.dir/preload.c.o
cc: error: unrecognized command line option '-m32'
src/CMakeFiles/snappypreload32.dir/build.make:54: recipe for target 'src/CMakeFiles/snappypreload32.dir/preload.c.o' failed
make[3]: *** [src/CMakeFiles/snappypreload32.dir/preload.c.o] Error 1
make[3]: Leaving directory '/deb2snap/builddir'
CMakeFiles/Makefile2:945: recipe for target 'src/CMakeFiles/snappypreload32.dir/all' failed
make[2]: *** [src/CMakeFiles/snappypreload32.dir/all] Error 2
make[2]: Leaving directory '/deb2snap/builddir'
Makefile:86: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/deb2snap/builddir'
Makefile:18: recipe for target 'all' failed
make: *** [all] Error 2

Package libc6:amd64 not installed

On amd64 host, I got the error "Package libc6:amd64 not installed".

$ bash -x ./deb2snap -d 15.04 hello
...
++ dpkg -S /lib/x86_64-linux-gnu/libc.so.6
++ sed 's/: .*//'
+ PACKAGES=' hello libc6:amd64'
...
++ ./tools/dep-tree --manifest /home/ubuntu/.cache/snappy-preload/manifests/ubuntu-core-15.04-core-amd64.manifest hello libc6:amd64
Package libc6:amd64 not installed

How to reproduce:

create vivid LXC container

$ sudo lxc-create -t ubuntu-cloud -n vivid-lxc -- --release vivid -S ~/.ssh/id_rsa.pub

prepare deb2snap

$ sudo apt-add-repository ppa:snappy-dev/tools
$ sudo apt update

$ sudo apt install cmake gcc-multilib ubuntu-snappy-cli git dpkg-dev

$ git clone https://github.com/mikix/deb2snap
$ cd deb2snap

run deb2snap

$ sudo apt install hello
$ ./deb2snap -d 15.04 hello
Package libc6:amd64 not installed

libc6:amd64 is certainly installed.

$ apt-cache policy libc6:amd64
libc6:
  Installed: 2.21-0ubuntu4
  Candidate: 2.21-0ubuntu4
  Version table:
 *** 2.21-0ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
        100 /var/lib/dpkg/status

unable to make a snap

Hey heard about your app, cool! Tried it out but with no luck. The installation goes fine, however when i try to build the snaps i get this:

root@server:~/deb2snap# ./deb2snap htop
./deb2snap: regel 160: dpkg-architecture: opdracht niet gevonden

rule 160 dpkg-architecture: command not found

root@server:~/deb2snap# ./deb2snap webmin
Unknown command webmin

OS: ubuntu server 15.10 64 bit
Target os: ubuntu snappy core 16.04 arm hf
Please shine a light on my lack of knowledge here, is this even possible to create a snap from 64bit to armhf?

Thanks for this great project!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.