Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Doesn't prune symlinks #1625

Closed
calmh opened this issue Feb 4, 2018 · 4 comments
Closed

Doesn't prune symlinks #1625

calmh opened this issue Feb 4, 2018 · 4 comments

Comments

@calmh
Copy link

calmh commented Feb 4, 2018

dep v0.4.1-32-g235ce96c

When vendoring for example github.com/prometheus/procfs and having all the pruning options enabled (unused-packages, non-go, and go-tests) the symlinks in https://github.com/prometheus/procfs/tree/master/fixtures remain. Ideally, the whole fixtures directory should be pruned as it does not contain any Go packages or files. (Ideally it would also be under testdata, but that's not your fault...)

voelzmo added a commit to voelzmo/bosh-utils that referenced this issue Feb 22, 2018
* Introduce global `prune` property in Gopkg.toml
as a replacement for `dep prune`

Unfortunately, symlinks are still vendored due to
golang/dep#1625, therefore
there are leftovers in `vendor/github.com/bmatcuk/doublestar/test`
voelzmo added a commit to voelzmo/bosh-cli that referenced this issue Feb 23, 2018
* Introduce global prune property in Gopkg.toml
as a replacement for dep prune

Unfortunately, symlinks are still vendored due to
golang/dep#1625, therefore
there are leftovers in vendor/github.com/bmatcuk/doublestar/test
jfmyers9 added a commit to cloudfoundry/bosh-agent that referenced this issue Apr 2, 2018
This change updates the rsync command for the Vagrantfile to not copy
symlinks to the underlying VM. This is due to the fact that `dep` does
not prune symlinks, and a broken symlink that is included by a vendored
dependency breaks the default `rsync` command. See
golang/dep#1625 for more context.
jfmyers9 pushed a commit to cloudfoundry/bosh-dns-release that referenced this issue Apr 3, 2018
These symlinks are no longer pruned by `dep`, and we need to ignore them
for successful package compilation on windows. See
golang/dep#1625 for more context.

[#156329007](https://www.pivotaltracker.com/story/show/156329007)

Signed-off-by: James Myers <jmyers@pivotal.io>
xiaozhu36 added a commit to alibaba-archive/bosh-agent that referenced this issue Apr 10, 2018
* add iscisi device path resolver for softlayer

* add UT cases of devicepathresolvers, openiscsi; fix right logger level

* Download jobs and packages in parallel

[#152414004](https://www.pivotaltracker.com/story/show/152414004)

Signed-off-by: Yulia Gaponenko <yulia.gaponenko1@de.ibm.com>

* Fix iscsi device mod-up issue

* Refine iSCSI path resolver

* Consume work from bosh-utils

Cleanup non-behavioral tests for downloading in parallel
Download jobs and packages in same work pool

[#155951256](https://www.pivotaltracker.com/story/show/155951256)

Signed-off-by: Josh Russett <jrussett@pivotal.io>

* Use select to control timeout loop; remove empty slice check; and raise up timeout error

* Make iSCSI tests more OS agnostic

- Specifically use filepath package for writing files to prevent
incompatible hard-coded paths

[#155716450](https://www.pivotaltracker.com/story/show/155716450)

Signed-off-by: Josh Russett <jrussett@pivotal.io>

* Fix unpruned vendor directory

This change is the result of running `dep ensure` on the updated `dep`
binary. The resulting deletions are a result of the `prune` directive,
and the insertions are generally LICENSE files for vendored packages.

* Remove unused dependencies from Gopkg.toml

* Return errors on unsuccessful status codes

This change updates both the HTTP metadata service and the HTTP registry
to return errors when the response has a status code that is not in the
2xx range. This is a result of bumping bosh-utils, which changes the
behavior of the underlying retry client to not return errors on non 2xx
status codes.

[#156329007](https://www.pivotaltracker.com/story/show/156329007)

* Do not copy symlinks to VM for integration tests

This change updates the rsync command for the Vagrantfile to not copy
symlinks to the underlying VM. This is due to the fact that `dep` does
not prune symlinks, and a broken symlink that is included by a vendored
dependency breaks the default `rsync` command. See
golang/dep#1625 for more context.

* Standardize retryables and retry strategies

This change updates bosh-utils which attempts to standardize the
retryable and retry strategy logic. Specifically retryables only retry
when returning `true` for their boolean return values, regardless of the
error value.

[#156329007](https://www.pivotaltracker.com/story/show/156329007)

* Add static routes of net interfaces (cloudfoundry#152)

* add static routes of net interfaces
* Set ipv6 static route

* Update bosh-utils and socks5-proxy

[#156486861](https://www.pivotaltracker.com/story/show/156486861)

Signed-off-by: Andrew Su <asu@pivotal.io>

* Add groups to bosh-agent pipeline

[#155754527](https://www.pivotaltracker.com/story/show/155754527)

Signed-off-by: Michael Xu <mxu@pivotal.io>

* Fix format string in logger

Signed-off-by: James Myers <jmyers@pivotal.io>

* Allow linux_platform_test to be run in parallel

This change updates the linux_platform_test so that it can be run in
parallel. The `SetupTmpDir` function was overriding the `TMPDIR`
environment variable which was causing Ginkgo to be unable to report for
all nodes. This change saves off the original `TMPDIR` in the BeforeEach
and then resets in the AfterEach.

Signed-off-by: Josh Russett <jrussett@pivotal.io>

* Appease the shellcheck

[#153888031](https://www.pivotaltracker.com/story/show/153888031)

Signed-off-by: James Myers <jmyers@pivotal.io>

* Use parted when GPT partitions are detected

This change delegates the logic for partitioning persistent disks to a
specialized PersistentPartitioner. It will attempt to use `sfdisk` to
partition, but if it detects a GPT partition it will fall back to using
the parted partitioner.

This change also breaks apart the DeviceUtil interface. These two
objects were not being used interchangeably, and did not need to share
an interface.

[#153888031](https://www.pivotaltracker.com/story/show/153888031)

Signed-off-by: Josh Russett <jrussett@pivotal.io>

* Remove bad symlinks from vendor caused by dep bug

[#156627818](https://www.pivotaltracker.com/story/show/156627818)

Signed-off-by: Zander Mackie <amackie@pivotal.io>

* use response status code to determine error
sigma pushed a commit to sigma/dep that referenced this issue Apr 18, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue May 23, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue May 23, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue May 23, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue May 24, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue Jun 4, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue Jun 7, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
sigma pushed a commit to sigma/dep that referenced this issue Jun 15, 2018
This treats symlinks like files when considering whether to remove them
in the non-go pruning stage.

Fixes golang#1625.
edwardstudy pushed a commit to bluebosh/bosh-agent that referenced this issue Sep 3, 2018
This change updates the rsync command for the Vagrantfile to not copy
symlinks to the underlying VM. This is due to the fact that `dep` does
not prune symlinks, and a broken symlink that is included by a vendored
dependency breaks the default `rsync` command. See
golang/dep#1625 for more context.
@liamstask
Copy link

still present in v0.5.0 - observed same issue as #2024

@MaerF0x0
Copy link

MaerF0x0 commented Apr 9, 2019

In our case it's not pruning symlinks to our run.sh helper functions. And it's not brining in the actual file so they end up as broken symlinks...

$ file vendor/github.com/employer/repo/integration/contacts/run.sh

vendor/github.com/employer/repo/integration/contacts/run.sh: broken symbolic link to ../run.sh

@tminke
Copy link

tminke commented Jun 18, 2019

Yep - seeing the same thing (broken symlinks) in v0.5.1 with the knative-eventing repo. The broken symlinks are causing other breakages in some in-house downstream build tooling.

@mvdan
Copy link
Member

mvdan commented Sep 4, 2020

Dep was officially deprecated earlier this year, and the proposal to archive this repository was accepted. As such, I'm closing outstanding issues before archiving the repository. For any further comments, please use the proposal thread on the Go issue tracker. Thanks!

@mvdan mvdan closed this as completed Sep 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants