Comments (5)
Hi, thanks for the report.
Could you please elaborate on where you found the dpkg-buildpackage -rfakeroot -d -us -uc -sa -i -S
command? Our instructions https://github.com/Tarsnap/tarsnap/blob/master/pkg/README.md say to use dpkg-buildpackage -b
and that seems to work.
I believe that we are following the recommendation to provide 3.0 (quilt) packages. If you follow the instructions in
https://github.com/Tarsnap/tarsnap/blob/master/pkg/DEBIAN.md and add deb-src http://pkg.tarsnap.com/deb-src/ ./
to your /etc/apt/sources.list
, then you can run apt-get source tarsnap
to get the original tarball, .debian.tar.gz
, and .dsc
.
from tarsnap.
Also note that if you want to re-create that .debian.tar.gz
from the original tarball, the https://github.com/Tarsnap/tarsnap/blob/master/pkg/DEBIAN.md instructions show how.
from tarsnap.
I am actually building a source package with debuild -S
which then gets uploaded to our build server, gets built with pbuilder, and loaded into reprepro managed private debian repo. dpkg-buildpackage
gets invoked by debuild -S
You are not seeing this problem because of dpkg-buildpackage
-b
flag.
I'll look into Debian source repo you are now providing, thanks. This was news to me.`
The source packages in your deb-src repo are presumably quilt (separate diff and orig distributions). That being said, I think the the tar.gz you are distributing should specify 'native' format, because it combines the Debian and app source code together. I am not a Debian standard lawyer, but If you google for this error this is a problem seen in other software, e.g. https://code.google.com/archive/p/pymds/issues/1
from tarsnap.
My reading of the Debian policy is that we should not be providing "native" packages:
- When to use a native vs a non-native package
Default to making packages non-native. You should only use a native Debian package when it is clear that the package would not be useful outside the context of a Debian system, and would never be distributed except packaged for Debian or its derivatives.
https://wiki.debian.org/DebianMentorsFaq#What_is_the_difference_between_a_native_Debian_package_and_a_non-native_package.3F
In our case, there is another an important reason: reproducibility. By keeping the original tarball the same (other than the unavoidable changing of its filename), users can verify it with checksums (such as sha256sum
). That only leaves the much-smaller .debian.tar.gz
file to verify manually. And even in that case, the changelog
and copyright
can be ignored, leaving only 30 lines of files that need to checked.
This focus on reproducibility might seem overly paranoid, but Tarsnap is online backups for the truly paranoid, after all. :)
from tarsnap.
OK, fair enough.
Now that I know you have an apt repo, looking forward to seeing official pre-built binaries there some day.
from tarsnap.
Related Issues (20)
- lseek (_llseek) issue introduced in 1f56dc7c35b, possibly only on Linux i686 HOT 11
- Workaround for Windows Subsystem for Linux bug with link() HOT 1
- Add support for .gitignore files HOT 2
- escaping bug/typo in tarsnap(1) manpage HOT 1
- Machine name doesn't work with accents ? HOT 5
- master fails to build on old gcc (below version 9) HOT 9
- apt-key is deprecated - update installation instructions HOT 5
- Tarsnap Website Screen Reader Compatibility HOT 3
- Look for tarsnap.conf in ~/.config/tarsnap/ HOT 1
- Optional support for CACHEDIR.TAG files HOT 2
- New release? HOT 2
- Build fails on NetBSD HOT 4
- build: The <sys/sysctl.h> header is deprecated
- False warnings from clang-scan
- tarsnap can be tricked into skipping file using "touch -r" HOT 5
- libressl 3.6 will add `OPENSSL_cleanup()` HOT 1
- Deleting of archives taking up a lot of server -> client bandwidth HOT 6
- workaround for libc/kernel disagreement about whether lchmod exists HOT 1
- --include option HOT 12
- Anchored excludes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tarsnap.