Package: golang-gopkg-data-dog-go-sqlmock.v1-dev Version: 1.3.0-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts
Hi, during a test with piuparts I noticed your package installs files over an existing symlink shipped or created by another package. Your package ships: /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/* but package golang-github-data-dog-go-sqlmock-dev ships: /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock Installing something over existing symlinks is considered bad practice. See e.g. https://lists.debian.org/87ehlevcrf....@windlord.stanford.edu It may break in subtle ways and dpkg cannot detect this as a problem. * Your package might silently overwrite files installed at the symlink destination by other packages. * If the package shipping the symlink decides to make the link point somewhere else (or turn it into a real directory), the files owned by your package "will be lost" somewhere in the filesystem. * Depending on installation order the problematic path will be created either as a symlink or a directory: the package installed first will "win" and all others have "lost". Note that dpkg intentionally does not replace directories with symlinks and vice versa, see in particular the end of point 4 in https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#details-of-unpack-phase-of-installation-or-upgrade (Note: Adding Pre-Depends is *not* a solution.) Please move the files shipped in your package to the "real" location. >From the attached log (scroll to the bottom...): 0m16.8s ERROR: FAIL: silently overwrites files via directory symlinks: /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/argument.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/argument.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/argument_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/argument_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/driver.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/driver.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/driver_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/driver_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/basic (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/basic (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/basic/basic.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/basic/basic.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/basic/basic_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/basic/basic_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/blog (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/blog (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/blog/blog.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/blog/blog.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/blog/blog_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/blog/blog_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/doc.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/doc.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/orders (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/orders (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/orders/orders.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/orders/orders.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/examples/orders/orders_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/examples/orders/orders_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/expectations.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/expectations.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/expectations_before_go18.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/expectations_before_go18.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/expectations_go18.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/expectations_go18.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/expectations_go18_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/expectations_go18_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/expectations_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/expectations_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/result.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/result.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/result_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/result_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/rows.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/rows.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/rows_go18.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/rows_go18.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/rows_go18_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/rows_go18_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/rows_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/rows_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/sqlmock.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/sqlmock.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/sqlmock_go18.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/sqlmock_go18.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/sqlmock_go18_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/sqlmock_go18_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/sqlmock_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/sqlmock_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/statement.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/statement.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/statement_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/statement_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/stubs_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/stubs_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/util.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/util.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1/util_test.go (golang-gopkg-data-dog-go-sqlmock.v1-dev) != /usr/share/gocode/src/github.com/DATA-DOG/go-sqlmock/util_test.go (golang-github-data-dog-go-sqlmock-dev) /usr/share/gocode/src/gopkg.in/DATA-DOG/go-sqlmock.v1 -> ../../github.com/DATA-DOG/go-sqlmock cheers, Andreas
golang-gopkg-data-dog-go-sqlmock.v1-dev_1.3.0-1.log.gz
Description: application/gzip