Differences between revisions 17 and 18
Revision 17 as of 2015-12-17 18:03:24
Size: 3677
Editor: ?LorrieStin
Comment:
Revision 18 as of 2015-12-17 18:21:36
Size: 3418
Comment: spamming fuckwit
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Another fosterhome. The car came to a stop outside of a three-story, apartamente noi bucuresti Victorian-style house. It seemed nice enough...but looks apartamente de vanzare bucuresti don't always tell the entire story. The Langleys are really very nice people, the social worker said. They're always nice, until they aren't. You have to give them a chance. Gwen didn't even bother to look at her. She wasn't even Gwen's regular social worker. She guessed that Paul, her regular social worker, had better things to do than to chauffer Gwen around all day. Not that it really mattered. She was--surprisingly--more fascinated by the bright green holly bushes along the edge of the brightly colored porch of this new foster home, and the wild flowers that grew in small, scattered flower beds all around the ample yard. She wouldn't have admitted it, even if someone had pressed a gun to her head, but she was happy to apartamente de vanzare bucuresti see that someone in this house knew something about gardening. It was the only thing that truly interested Gwen outside of her advanced placement literature classes. The front door--a bright red monstrosity that seemed almost too heavy to swing properly on its tiny hinges--opened as she stared at the house. A small woman with blond hair that flowed straight and wild down her back stepped out onto the porch and waved. Gwen quickly turned away, facing forward again so that the woman wouldn't see the anticipation, and fear, on her face. That's Theresa Langley, the social worker said. I've known her for twenty years. She doesn't look like she's old enough to have known anyone that long. The social worker laughed, a sound that was like fingernails on a chalkboard. Gwen did her best not to grimace, but it wasn't easy. She does look young. But petite women often do. The social worker climbed out of the car and paused as she crossed the front, staring at Gwen through the windshield [[http://apartamentedevanzarebucuresti.net|http://apartamentedevanzarebucuresti.net/]] as though attempting to shame her into getting out. But then the petite lady called to her, and Gwen was forced to watch an emotional reunion between the two women. It was a little disgusting. If it weren't for the fact that being in an enclosed space, like a small car, always made Gwen feel uneasy, she might have stayed there until the two women remembered she was there. But the metal of the car's structure seemed to be closing in on her, making her feel as though she case de vanzare was in a cage, as though she would suffocate if she didn't get out of there. With a little bit of a panicky breath, Gwen pushed the car door open and swung her feet out. The moment they touched the green grass growing there by the case de vanzare bucuresti curb, she felt a peace settle over her. It never failed. Something about nature always made her feel more relaxed no matter what the situation. Maybe her father was a botanist. Not that she knew anything about case de vanzare her parents. How could she? They abandoned her when she was three--too young to be on her own, but too old for anyone looking to adopt to be interested. She would have been better off if they had abandoned her at a fire station when she was born. At least then, someone would have cared. What was the point in keeping her around for so long if they never really intended to keep her? Why would they-- Gwen shook her head. No point in traveling [[http://apartamentedevanzarebucuresti.net|http://apartamentedevanzarebucuresti.net/]] down that endless road of what ifs and why nots... You must be Gwenydd Reese, the petite woman, Theresa Langley, said as she approached Gwen with #language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~
----

== dedup.debian.net ==

The [[http://dedup.debian.net/|debian duplication detector]] is a service that scans binary Debian packages and records hashes of regular files contained.
It can then discover files shipped in multiple packages or multiple times in one package, that can possibly replaced by links to save space.
Another use case is to discover embedded copies in scripting languages.
Note that a similar service called [[http://www.codeclones.com/webservices/Clonewise/Clonewise.html|clonewise]] is being worked on which looks at source packages, that might be better suited for discovering [[EmbeddedCodeCopies|embedded copies]].


=== FAQ ===

Q: The PTS says that my package `foo` shares data with itself. How can that be?

A: This can happen when your package ships multiple copies of files. Those files actually consume the space on the disk and the mirrors multiple times. Both hard links and soft links are properly detected and not reported as duplication. See section "Within a single binary package".

Q: Why is there a sharing notice in the todo section of my package at all? I cannot do anything about it.

A: The current heuristic is to list packages that have at least 1MB and at least 10% of their installed size of sharing. Being a heuristic means that it can be wrong. To get the notice removed for your particular package, report a bug (see below).

=== Tips for reducing duplication in packages ===

==== Within a single binary package ====

If the software accessing the duplicate files supports symlinks,
add the following Build-Depends in `debian/control`

{{{
Build-Depends:...
+ rdfind,
+ symlinks
}}}

then you can run the following commands from `debian/rules` after the files
are installed by `make install` or similar.

{{{
# Replace duplicate files with symlinks
rdfind -outputname /dev/null -makesymlinks true debian/mypackage/
# Fix those symlinks to make them relative
symlinks -r -s -c debian/mypackage/
}}}

An example package using this technique is megaglest.

==== Within multiple binary packages from a single source package ====

If the duplicated files are significant, you might want to pool them in a `foo-common` package and have the other binary packages depend on that. If there is one particular package required by all other packages, consider using `dh_installdocs --link-doc=foo-common`.

==== Within multiple binary packages from multiple source packages ====

You should co-ordinate with the maintainers of the source packages and come up with a solution.

Where the files are from [[EmbeddedCodeCopies|embedded copies]] of other projects, the other projects should be packaged separately and the packages containing them should drop the files and depend on the new packages.

The `dh-linktree` helper can assist with replacing embedded copies by symbolic links to files in other packages.

=== Slides for DebConf ===

http://subdivi.de/~helmut/debconf13-dedup.html

=== Bugs and known issues ===

If you discover a bug or want a new feature, email helmut@subdivi.de.

A known limitation is that shared files are reported for different versions of the same software in the PTS. At the moment wesnoth and python are filtered via regular expressions. If more are needed, report a bug.

Translation(s): none


dedup.debian.net

The debian duplication detector is a service that scans binary Debian packages and records hashes of regular files contained. It can then discover files shipped in multiple packages or multiple times in one package, that can possibly replaced by links to save space. Another use case is to discover embedded copies in scripting languages. Note that a similar service called clonewise is being worked on which looks at source packages, that might be better suited for discovering embedded copies.

FAQ

Q: The PTS says that my package foo shares data with itself. How can that be?

A: This can happen when your package ships multiple copies of files. Those files actually consume the space on the disk and the mirrors multiple times. Both hard links and soft links are properly detected and not reported as duplication. See section "Within a single binary package".

Q: Why is there a sharing notice in the todo section of my package at all? I cannot do anything about it.

A: The current heuristic is to list packages that have at least 1MB and at least 10% of their installed size of sharing. Being a heuristic means that it can be wrong. To get the notice removed for your particular package, report a bug (see below).

Tips for reducing duplication in packages

Within a single binary package

If the software accessing the duplicate files supports symlinks, add the following Build-Depends in debian/control

Build-Depends:...
+             rdfind,
+             symlinks

then you can run the following commands from debian/rules after the files are installed by make install or similar.

# Replace duplicate files with symlinks
rdfind -outputname /dev/null -makesymlinks true debian/mypackage/
# Fix those symlinks to make them relative
symlinks -r -s -c debian/mypackage/

An example package using this technique is megaglest.

Within multiple binary packages from a single source package

If the duplicated files are significant, you might want to pool them in a foo-common package and have the other binary packages depend on that. If there is one particular package required by all other packages, consider using dh_installdocs --link-doc=foo-common.

Within multiple binary packages from multiple source packages

You should co-ordinate with the maintainers of the source packages and come up with a solution.

Where the files are from embedded copies of other projects, the other projects should be packaged separately and the packages containing them should drop the files and depend on the new packages.

The dh-linktree helper can assist with replacing embedded copies by symbolic links to files in other packages.

Slides for DebConf

http://subdivi.de/~helmut/debconf13-dedup.html

Bugs and known issues

If you discover a bug or want a new feature, email helmut@subdivi.de.

A known limitation is that shared files are reported for different versions of the same software in the PTS. At the moment wesnoth and python are filtered via regular expressions. If more are needed, report a bug.