feat: Clean up

This commit is contained in:
NunoSempere 2022-01-12 02:29:11 +01:00
parent f66f4e43a0
commit 1417d5879f
77 changed files with 173 additions and 4759 deletions

View File

@ -1,13 +1,19 @@
This package takes a markdown file, and creates a new markdown file in which each link is accompanied by an archive.org link, in the format [...](original link) ([a](archive.org link)).
This utility takes a markdown file, and creates a new markdown file in which each link is accompanied by an archive.org link, in the format [...](original link) ([a](archive.org link)).
## How to install
- Add [this file](https://github.com/NunoSempere/longNowForMd/blob/master/longnow) to your path, for instance by moving it to the `/usr/bin` folder and giving it execute permissions, or
- copy its content (except the last line) into your .bashrc file.
Add [this file](https://github.com/NunoSempere/longNowForMd/blob/master/longnow.sh) to your path, for instance by moving it to the `/usr/bin` folder and giving it execute permissions (with `chmod 755 longnow.sh`)
```
curl https://raw.githubusercontent.com/NunoSempere/longNowForMd/master/longnow > longnow
cat longnow ## probably a good idea to at least see what's there before giving it execute permissions
sudo chmod 755 longnow
mv longnow /bin/longnow
```
In addition, this utility requires [archivenow](https://github.com/oduwsdl/archivenow) as a dependency, which itself requires a python installation. archivenow can be installed with
```
$ pip install archivenow ## respectively, pip3
pip install archivenow ## respectively, pip3
```
## How to use
@ -21,6 +27,8 @@ For a reasonably sized file, the process will take a long time, so this is more
## To do
- Deal elegantly with images. Right now, they are also archived, and have to be removed manually afterwards.
- Possibly: Throttle requests to the internet archive less. Right now, I'm sending a link roughly every 12 seconds, and then sleeping for a minute every 15 requests. This is probably too much throttling (the theoretical limit is 15 requests per minute), but I think that it does reduce the error rate.
- Do the same thing but for html files, or other formats
- Present to r/DataHoarders
- Pull requests are welcome.
## How to use to back up Google Files
@ -28,10 +36,13 @@ For a reasonably sized file, the process will take a long time, so this is more
You can download a .odt file from Google, and then convert it to a markdown file with
```
function pandocodt(){
source="$1.odt"
output="$1.md"
pandoc -s "$source" -t markdown-raw_html-native_divs-native_spans-fenced_divs-bracketed_spans | awk ' /^$/ { print "\n"; } /./ { printf("%s ", $0); } END { print ""; } ' | sed -r 's/([0-9]+\.)/\n\1/g' | sed -r 's/\*\*(.*)\*\*/## \1/g' | tr -s " " | sed -r 's/\\//g' | sed -r 's/\[\*/\[/g' | sed -r 's/\*\]/\]/g' > "$output"
function odtToMd(){
input="$1"
root="$(echo "$input" | sed 's/.odt//g' )"
output="$root.md"
pandoc -s "$input" -t markdown-raw_html-native_divs-native_spans-fenced_divs-bracketed_spans | awk ' /^$/ { print "\n"; } /./ { printf("%s ", $0); } END { print ""; } ' | sed -r 's/([0-9]+\.)/\n\1/g' | sed -r 's/\*\*(.*)\*\*/## \1/g' | tr -s " " | sed -r 's/\\//g' | sed -r 's/\[\*/\[/g' | sed -r 's/\*\]/\]/g' > "$output"
## Explanation:
## markdown-raw_html-native_divs-native_spans-fenced_divs-bracketed_spans: various flags to generate some markdown I like
## sed -r 's/\*\*(.*)\*\*/## \1/g': transform **Header** into ## Header
@ -41,22 +52,21 @@ function pandocodt(){
## tr -s " ": Replaces multiple spaces
}
## Use: pandocodt YourFileNameWithoutExtension
## Use: odtToMd file.odt
```
Then run this tool (`longnow YourFileName.md`). Afterwards, convert the output file (`YourFileName.md.longnow`) back to html with
Then run this tool (`longnow.sh file.md`). Afterwards, convert the output file (`file.longnow.md`) back to html with
```
function pandocmd(){
source="$1.md"
output="$1.html"
function mdToHTML(){
input="$1"
root="$(echo "$input" | sed 's/.md//g' )"
output="$root.html"
pandoc -r gfm "$source" -o "$output"
## sed -i 's|\[ \]\(([^\)]*)\)| |g' "$source" ## This removes links around spaces, which are very annoying. See https://unix.stackexchange.com/questions/297686/non-greedy-match-with-sed-regex-emulate-perls
}
## Use: pandocmd FileNameWithoutExtension
## Use: mdToHTML file.md
```
(this requires changing the name of the output file from `YourFileName.md.longnow` to `YourFileName.longnow.md` before running `$ pandocmd YourFileName.longnow`)
Then copy and paste the html into a Google doc and fix fomatting mistakes.

View File

@ -1,71 +0,0 @@
#!/bin/bash
# What to update before running:
# - The error message in line 43
# - The version number in line 60
stemFolder="$(pwd)/$1"
stemFolderName="$1"
seriesFolder="$(pwd)/$1~series"
seriesNames=("focal" "groovy" "hirsute" "impish")
gitFolder="/home/nuno/Documents/core/software/fresh/bash/sid/longnowformd_package/longnow-git/"
rm -rf "$stemFolder"
mkdir "$stemFolder"
rm -rf "$seriesFolder"
mkdir "$seriesFolder"
cp "$gitFolder/longnow" "$stemFolder/longnow"
for seriesName in "${seriesNames[@]}"; do
# Create corresponding folder
newSeriesFolder="$seriesFolder/$stemFolderName~$seriesName"
echo "$seriesName"
cp -r "$stemFolder" "$newSeriesFolder"
cd "$newSeriesFolder"
# Make
dh_make --createorig -c mit --indep -y
wait
# Modify corresponding files
touch debian/install
echo "longnow usr/bin" > debian/install ## Add files to debian/install; depends on the files
cd debian
# Replace "unstable" for the series name ("bionic", "focal",...)
sed -i "s|unstable|$seriesName|g" changelog
# Meaningful update message
sed -i 's|Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>|Minor tweak.|g' changelog
# Edit the control file; change "unknown" section to "utils" (or some other section)
sed -i 's|Section: unknown|Section: utils|g' control
# Cosmetic stuff
# Delete the .ex and .docs and README.Debian files
rm *.ex; rm *.docs; rm README*; rm *.EX
sed -i 's|<insert the upstream URL, if relevant>|https://github.com/NunoSempere/longNowForMd|g' control
sed -i 's|Nuno <nuno@unknown>|Nuno Sempere <nuno.semperelh@gmail.com>|g' *
# Build
cd ..
debuild -S
wait
cd ..
dput ppa:nunosempere/longnowformd longnow_1.1~$seriesName-1_source.changes
wait
done
## How to use: ./createSeries.sh longnow-1.1
cp -r "$stemFolder" "$gitFolder/debian/$stemFolderName"
cp -r "$seriesFolder" "$gitFolder/debian/$stemFolderName~series"
cp "/home/nuno/Documents/core/software/fresh/bash/sid/longnowformd_package/createSeries.sh" "$gitFolder/debian/createSeries.sh"
sudo cp "$gitFolder/longnow" "/usr/bin/longnow"
sudo chmod 555 "/usr/bin/longnow"

View File

@ -1,134 +0,0 @@
#!/bin/bash
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
linksFile="$1.links"
linksFile2="$1.links2"
echo ""
echo "Extracting links..."
rm "$1.links" -f
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
awk '!seen[$0]++' "$linksFile" > "$linksFile2" && mv "$linksFile2" "$linksFile"
echo "Done."
numLinesLinkFile=$(wc -l "$linksFile" | awk '{ print $1 }')
totalTimeInMinutes=$(echo "scale=0; ($numLinesLinkFile*7.5 + 60*$numLinesLinkFile/15)/60" | bc)
echo "Expected to take $totalTimeInMinutes mins."
}
function pushToArchive(){
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
# References:
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
# https://github.com/oduwsdl/archivenow
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
echo "Pushing to archive.org..."
echo ""
input="$1"
counter=1
archivedLinksFile="$1.archived"
errorsFile="$1.errors"
## rm -f "$archivedLinksFile"
rm -f "$errorsFile"
touch "$archivedLinksFile"
touch "$errorsFile"
## How to deal with errors that arise
echo "If this file contains errors, you can deal with them as follows:" >> "$errorsFile"
echo "- Do another pass with \$ longnow yourfile.md. If you don't delete yourfile.md.links.archived, past archive links are remembered, and only the links which are not there are sent again" >> "$errorsFile"
echo "- Input the offending links manually to https://archive.org/, add the results to the yourfile.md.links.archived file manually, and then do another pass with \$ longnow yourfile.md" >> "$errorsFile"
echo "" >> "$errorsFile"
## Main body
while IFS= read -r line
do
wait
if [ $(($counter % 15)) -eq 0 ]; then
printf "Archive.org doesn't accept more than 15 links per min; sleeping for 1min...\n\n"
sleep 1m
fi
echo "Url: $line"
urlAlreadyContained=$( ( grep "$line$" "$archivedLinksFile"; grep "$line/$" "$archivedLinksFile" ) | tail -1 )
if [ "$urlAlreadyContained" == "" ]; then
archiveURL=$(archivenow --ia $line)
if [[ "$archiveURL" == "Error"* ]]; then
echo "$line" >> "$errorsFile"
echo "$archiveURL" >> "$errorsFile"
echo "" >> "$errorsFile"
echo "There was an error. See $errorsFile for how to deal with it."
else
echo "$archiveURL" >> "$archivedLinksFile"
fi
counter=$((counter+1))
numSecondsSleep=$((5+ ($RANDOM%15)))
else
archiveURL="$urlAlreadyContained"
numSecondsSleep=0
fi
echo $archiveURL
echo "Sleeping for $numSecondsSleep seconds..."
sleep $numSecondsSleep
echo ""
done < "$input"
echo "Done."
echo ""
}
function addArchiveLinksToFile(){
originalFile="$1"
originalFileTemp="$originalFile.temp"
linksFile="$1.links"
archivedLinksFile="$1.links.archived"
errorsFile="$1.links.errors"
longNowFile="$1.longnow"
echo "Creating longnow file @ $longNowFile..."
rm -f "$longNowFile"
touch "$longNowFile"
cp "$originalFile" "$originalFileTemp"
while IFS= read -r url
do
wait
archivedUrl=$( ( grep "$url$" "$archivedLinksFile"; grep "$url/$" "$archivedLinksFile") | tail -1)
if [ "$archivedUrl" != "" ]; then
## echo "Url: $url"
## echo "ArchivedUrl: $archivedUrl"
urlForSed="${url//\//\\/}"
archiveUrlForSed="${archivedUrl//\//\\/}"
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
##else
##echo "There was an error for $url; see the $errorsFile"
fi
done < "$linksFile"
mv "$originalFile" "$longNowFile"
mv "$originalFileTemp" "$originalFile"
echo "Done."
}
function longnow(){
doesArchiveNowExist=$(whereis "archivenow")
if [ "$doesArchiveNowExist" == "archivenow:" ]
then
echo "Required archivenow utility not found in path."
echo "Install with \$ pip install archivenow"
echo "(resp. \$ pip3 install archivenow)"
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
else
getMdLinks $1
pushToArchive $1.links
addArchiveLinksToFile $1
numLinesErrorFile=$(wc -l "$1.links.errors" | awk '{ print $1 }')
if [ "$numLinesErrorFile" -gt 4 ] ;then
echo "It seems that there are errors. To view and deal with them, see the $1.links.errors file"
fi
fi
}
longnow "$1" ## don't copy this line into your .bashrc file

View File

@ -1,5 +0,0 @@
longnow (1.1~focal-1) focal; urgency=medium
* Minor tweak.
-- Nuno Sempere <nuno.semperelh@gmail.com> Wed, 30 Jun 2021 22:52:33 +0200

View File

@ -1,15 +0,0 @@
Source: longnow
Section: utils
Priority: optional
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.4.1
Homepage: https://github.com/NunoSempere/longNowForMd
#Vcs-Browser: https://salsa.debian.org/debian/longnow
#Vcs-Git: https://salsa.debian.org/debian/longnow.git
Package: longnow
Architecture: all
Depends: ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

View File

@ -1,41 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: longnow
Upstream-Contact: <preferred name and address to reach the upstream project>
Source: <url://example.com>
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: MIT
Files: debian/*
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid picking licenses with terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
#
# If you need, there are some extra license texts available in two places:
# /usr/share/debhelper/dh_make/licenses/
# /usr/share/common-licenses/

View File

@ -1 +0,0 @@
longnow_1.1~focal-1_source.buildinfo utils optional

View File

@ -1 +0,0 @@
longnow usr/bin

View File

@ -1,25 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,134 +0,0 @@
#!/bin/bash
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
linksFile="$1.links"
linksFile2="$1.links2"
echo ""
echo "Extracting links..."
rm "$1.links" -f
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
awk '!seen[$0]++' "$linksFile" > "$linksFile2" && mv "$linksFile2" "$linksFile"
echo "Done."
numLinesLinkFile=$(wc -l "$linksFile" | awk '{ print $1 }')
totalTimeInMinutes=$(echo "scale=0; ($numLinesLinkFile*7.5 + 60*$numLinesLinkFile/15)/60" | bc)
echo "Expected to take $totalTimeInMinutes mins."
}
function pushToArchive(){
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
# References:
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
# https://github.com/oduwsdl/archivenow
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
echo "Pushing to archive.org..."
echo ""
input="$1"
counter=1
archivedLinksFile="$1.archived"
errorsFile="$1.errors"
## rm -f "$archivedLinksFile"
rm -f "$errorsFile"
touch "$archivedLinksFile"
touch "$errorsFile"
## How to deal with errors that arise
echo "If this file contains errors, you can deal with them as follows:" >> "$errorsFile"
echo "- Do another pass with \$ longnow yourfile.md. If you don't delete yourfile.md.links.archived, past archive links are remembered, and only the links which are not there are sent again" >> "$errorsFile"
echo "- Input the offending links manually to https://archive.org/, add the results to the yourfile.md.links.archived file manually, and then do another pass with \$ longnow yourfile.md" >> "$errorsFile"
echo "" >> "$errorsFile"
## Main body
while IFS= read -r line
do
wait
if [ $(($counter % 15)) -eq 0 ]; then
printf "Archive.org doesn't accept more than 15 links per min; sleeping for 1min...\n\n"
sleep 1m
fi
echo "Url: $line"
urlAlreadyContained=$( ( grep "$line$" "$archivedLinksFile"; grep "$line/$" "$archivedLinksFile" ) | tail -1 )
if [ "$urlAlreadyContained" == "" ]; then
archiveURL=$(archivenow --ia $line)
if [[ "$archiveURL" == "Error"* ]]; then
echo "$line" >> "$errorsFile"
echo "$archiveURL" >> "$errorsFile"
echo "" >> "$errorsFile"
echo "There was an error. See $errorsFile for how to deal with it."
else
echo "$archiveURL" >> "$archivedLinksFile"
fi
counter=$((counter+1))
numSecondsSleep=$((5+ ($RANDOM%15)))
else
archiveURL="$urlAlreadyContained"
numSecondsSleep=0
fi
echo $archiveURL
echo "Sleeping for $numSecondsSleep seconds..."
sleep $numSecondsSleep
echo ""
done < "$input"
echo "Done."
echo ""
}
function addArchiveLinksToFile(){
originalFile="$1"
originalFileTemp="$originalFile.temp"
linksFile="$1.links"
archivedLinksFile="$1.links.archived"
errorsFile="$1.links.errors"
longNowFile="$1.longnow"
echo "Creating longnow file @ $longNowFile..."
rm -f "$longNowFile"
touch "$longNowFile"
cp "$originalFile" "$originalFileTemp"
while IFS= read -r url
do
wait
archivedUrl=$( ( grep "$url$" "$archivedLinksFile"; grep "$url/$" "$archivedLinksFile") | tail -1)
if [ "$archivedUrl" != "" ]; then
## echo "Url: $url"
## echo "ArchivedUrl: $archivedUrl"
urlForSed="${url//\//\\/}"
archiveUrlForSed="${archivedUrl//\//\\/}"
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
##else
##echo "There was an error for $url; see the $errorsFile"
fi
done < "$linksFile"
mv "$originalFile" "$longNowFile"
mv "$originalFileTemp" "$originalFile"
echo "Done."
}
function longnow(){
doesArchiveNowExist=$(whereis "archivenow")
if [ "$doesArchiveNowExist" == "archivenow:" ]
then
echo "Required archivenow utility not found in path."
echo "Install with \$ pip install archivenow"
echo "(resp. \$ pip3 install archivenow)"
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
else
getMdLinks $1
pushToArchive $1.links
addArchiveLinksToFile $1
numLinesErrorFile=$(wc -l "$1.links.errors" | awk '{ print $1 }')
if [ "$numLinesErrorFile" -gt 4 ] ;then
echo "It seems that there are errors. To view and deal with them, see the $1.links.errors file"
fi
fi
}
longnow "$1" ## don't copy this line into your .bashrc file

View File

@ -1,5 +0,0 @@
longnow (1.1~groovy-1) groovy; urgency=medium
* Minor tweak.
-- Nuno Sempere <nuno.semperelh@gmail.com> Wed, 30 Jun 2021 22:52:46 +0200

View File

@ -1,15 +0,0 @@
Source: longnow
Section: utils
Priority: optional
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.4.1
Homepage: https://github.com/NunoSempere/longNowForMd
#Vcs-Browser: https://salsa.debian.org/debian/longnow
#Vcs-Git: https://salsa.debian.org/debian/longnow.git
Package: longnow
Architecture: all
Depends: ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

View File

@ -1,41 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: longnow
Upstream-Contact: <preferred name and address to reach the upstream project>
Source: <url://example.com>
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: MIT
Files: debian/*
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid picking licenses with terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
#
# If you need, there are some extra license texts available in two places:
# /usr/share/debhelper/dh_make/licenses/
# /usr/share/common-licenses/

View File

@ -1 +0,0 @@
longnow_1.1~groovy-1_source.buildinfo utils optional

View File

@ -1 +0,0 @@
longnow usr/bin

View File

@ -1,25 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,134 +0,0 @@
#!/bin/bash
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
linksFile="$1.links"
linksFile2="$1.links2"
echo ""
echo "Extracting links..."
rm "$1.links" -f
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
awk '!seen[$0]++' "$linksFile" > "$linksFile2" && mv "$linksFile2" "$linksFile"
echo "Done."
numLinesLinkFile=$(wc -l "$linksFile" | awk '{ print $1 }')
totalTimeInMinutes=$(echo "scale=0; ($numLinesLinkFile*7.5 + 60*$numLinesLinkFile/15)/60" | bc)
echo "Expected to take $totalTimeInMinutes mins."
}
function pushToArchive(){
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
# References:
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
# https://github.com/oduwsdl/archivenow
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
echo "Pushing to archive.org..."
echo ""
input="$1"
counter=1
archivedLinksFile="$1.archived"
errorsFile="$1.errors"
## rm -f "$archivedLinksFile"
rm -f "$errorsFile"
touch "$archivedLinksFile"
touch "$errorsFile"
## How to deal with errors that arise
echo "If this file contains errors, you can deal with them as follows:" >> "$errorsFile"
echo "- Do another pass with \$ longnow yourfile.md. If you don't delete yourfile.md.links.archived, past archive links are remembered, and only the links which are not there are sent again" >> "$errorsFile"
echo "- Input the offending links manually to https://archive.org/, add the results to the yourfile.md.links.archived file manually, and then do another pass with \$ longnow yourfile.md" >> "$errorsFile"
echo "" >> "$errorsFile"
## Main body
while IFS= read -r line
do
wait
if [ $(($counter % 15)) -eq 0 ]; then
printf "Archive.org doesn't accept more than 15 links per min; sleeping for 1min...\n\n"
sleep 1m
fi
echo "Url: $line"
urlAlreadyContained=$( ( grep "$line$" "$archivedLinksFile"; grep "$line/$" "$archivedLinksFile" ) | tail -1 )
if [ "$urlAlreadyContained" == "" ]; then
archiveURL=$(archivenow --ia $line)
if [[ "$archiveURL" == "Error"* ]]; then
echo "$line" >> "$errorsFile"
echo "$archiveURL" >> "$errorsFile"
echo "" >> "$errorsFile"
echo "There was an error. See $errorsFile for how to deal with it."
else
echo "$archiveURL" >> "$archivedLinksFile"
fi
counter=$((counter+1))
numSecondsSleep=$((5+ ($RANDOM%15)))
else
archiveURL="$urlAlreadyContained"
numSecondsSleep=0
fi
echo $archiveURL
echo "Sleeping for $numSecondsSleep seconds..."
sleep $numSecondsSleep
echo ""
done < "$input"
echo "Done."
echo ""
}
function addArchiveLinksToFile(){
originalFile="$1"
originalFileTemp="$originalFile.temp"
linksFile="$1.links"
archivedLinksFile="$1.links.archived"
errorsFile="$1.links.errors"
longNowFile="$1.longnow"
echo "Creating longnow file @ $longNowFile..."
rm -f "$longNowFile"
touch "$longNowFile"
cp "$originalFile" "$originalFileTemp"
while IFS= read -r url
do
wait
archivedUrl=$( ( grep "$url$" "$archivedLinksFile"; grep "$url/$" "$archivedLinksFile") | tail -1)
if [ "$archivedUrl" != "" ]; then
## echo "Url: $url"
## echo "ArchivedUrl: $archivedUrl"
urlForSed="${url//\//\\/}"
archiveUrlForSed="${archivedUrl//\//\\/}"
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
##else
##echo "There was an error for $url; see the $errorsFile"
fi
done < "$linksFile"
mv "$originalFile" "$longNowFile"
mv "$originalFileTemp" "$originalFile"
echo "Done."
}
function longnow(){
doesArchiveNowExist=$(whereis "archivenow")
if [ "$doesArchiveNowExist" == "archivenow:" ]
then
echo "Required archivenow utility not found in path."
echo "Install with \$ pip install archivenow"
echo "(resp. \$ pip3 install archivenow)"
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
else
getMdLinks $1
pushToArchive $1.links
addArchiveLinksToFile $1
numLinesErrorFile=$(wc -l "$1.links.errors" | awk '{ print $1 }')
if [ "$numLinesErrorFile" -gt 4 ] ;then
echo "It seems that there are errors. To view and deal with them, see the $1.links.errors file"
fi
fi
}
longnow "$1" ## don't copy this line into your .bashrc file

View File

@ -1,5 +0,0 @@
longnow (1.1~hirsute-1) hirsute; urgency=medium
* Minor tweak.
-- Nuno Sempere <nuno.semperelh@gmail.com> Wed, 30 Jun 2021 22:52:52 +0200

View File

@ -1,15 +0,0 @@
Source: longnow
Section: utils
Priority: optional
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.4.1
Homepage: https://github.com/NunoSempere/longNowForMd
#Vcs-Browser: https://salsa.debian.org/debian/longnow
#Vcs-Git: https://salsa.debian.org/debian/longnow.git
Package: longnow
Architecture: all
Depends: ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

View File

@ -1,41 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: longnow
Upstream-Contact: <preferred name and address to reach the upstream project>
Source: <url://example.com>
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: MIT
Files: debian/*
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid picking licenses with terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
#
# If you need, there are some extra license texts available in two places:
# /usr/share/debhelper/dh_make/licenses/
# /usr/share/common-licenses/

View File

@ -1 +0,0 @@
longnow_1.1~hirsute-1_source.buildinfo utils optional

View File

@ -1 +0,0 @@
longnow usr/bin

View File

@ -1,25 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,134 +0,0 @@
#!/bin/bash
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
linksFile="$1.links"
linksFile2="$1.links2"
echo ""
echo "Extracting links..."
rm "$1.links" -f
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
awk '!seen[$0]++' "$linksFile" > "$linksFile2" && mv "$linksFile2" "$linksFile"
echo "Done."
numLinesLinkFile=$(wc -l "$linksFile" | awk '{ print $1 }')
totalTimeInMinutes=$(echo "scale=0; ($numLinesLinkFile*7.5 + 60*$numLinesLinkFile/15)/60" | bc)
echo "Expected to take $totalTimeInMinutes mins."
}
function pushToArchive(){
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
# References:
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
# https://github.com/oduwsdl/archivenow
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
echo "Pushing to archive.org..."
echo ""
input="$1"
counter=1
archivedLinksFile="$1.archived"
errorsFile="$1.errors"
## rm -f "$archivedLinksFile"
rm -f "$errorsFile"
touch "$archivedLinksFile"
touch "$errorsFile"
## How to deal with errors that arise
echo "If this file contains errors, you can deal with them as follows:" >> "$errorsFile"
echo "- Do another pass with \$ longnow yourfile.md. If you don't delete yourfile.md.links.archived, past archive links are remembered, and only the links which are not there are sent again" >> "$errorsFile"
echo "- Input the offending links manually to https://archive.org/, add the results to the yourfile.md.links.archived file manually, and then do another pass with \$ longnow yourfile.md" >> "$errorsFile"
echo "" >> "$errorsFile"
## Main body
while IFS= read -r line
do
wait
if [ $(($counter % 15)) -eq 0 ]; then
printf "Archive.org doesn't accept more than 15 links per min; sleeping for 1min...\n\n"
sleep 1m
fi
echo "Url: $line"
urlAlreadyContained=$( ( grep "$line$" "$archivedLinksFile"; grep "$line/$" "$archivedLinksFile" ) | tail -1 )
if [ "$urlAlreadyContained" == "" ]; then
archiveURL=$(archivenow --ia $line)
if [[ "$archiveURL" == "Error"* ]]; then
echo "$line" >> "$errorsFile"
echo "$archiveURL" >> "$errorsFile"
echo "" >> "$errorsFile"
echo "There was an error. See $errorsFile for how to deal with it."
else
echo "$archiveURL" >> "$archivedLinksFile"
fi
counter=$((counter+1))
numSecondsSleep=$((5+ ($RANDOM%15)))
else
archiveURL="$urlAlreadyContained"
numSecondsSleep=0
fi
echo $archiveURL
echo "Sleeping for $numSecondsSleep seconds..."
sleep $numSecondsSleep
echo ""
done < "$input"
echo "Done."
echo ""
}
function addArchiveLinksToFile(){
originalFile="$1"
originalFileTemp="$originalFile.temp"
linksFile="$1.links"
archivedLinksFile="$1.links.archived"
errorsFile="$1.links.errors"
longNowFile="$1.longnow"
echo "Creating longnow file @ $longNowFile..."
rm -f "$longNowFile"
touch "$longNowFile"
cp "$originalFile" "$originalFileTemp"
while IFS= read -r url
do
wait
archivedUrl=$( ( grep "$url$" "$archivedLinksFile"; grep "$url/$" "$archivedLinksFile") | tail -1)
if [ "$archivedUrl" != "" ]; then
## echo "Url: $url"
## echo "ArchivedUrl: $archivedUrl"
urlForSed="${url//\//\\/}"
archiveUrlForSed="${archivedUrl//\//\\/}"
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
##else
##echo "There was an error for $url; see the $errorsFile"
fi
done < "$linksFile"
mv "$originalFile" "$longNowFile"
mv "$originalFileTemp" "$originalFile"
echo "Done."
}
function longnow(){
doesArchiveNowExist=$(whereis "archivenow")
if [ "$doesArchiveNowExist" == "archivenow:" ]
then
echo "Required archivenow utility not found in path."
echo "Install with \$ pip install archivenow"
echo "(resp. \$ pip3 install archivenow)"
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
else
getMdLinks $1
pushToArchive $1.links
addArchiveLinksToFile $1
numLinesErrorFile=$(wc -l "$1.links.errors" | awk '{ print $1 }')
if [ "$numLinesErrorFile" -gt 4 ] ;then
echo "It seems that there are errors. To view and deal with them, see the $1.links.errors file"
fi
fi
}
longnow "$1" ## don't copy this line into your .bashrc file

View File

@ -1,5 +0,0 @@
longnow (1.1~impish-1) impish; urgency=medium
* Minor tweak.
-- Nuno Sempere <nuno.semperelh@gmail.com> Wed, 30 Jun 2021 22:52:57 +0200

View File

@ -1,15 +0,0 @@
Source: longnow
Section: utils
Priority: optional
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Build-Depends: debhelper-compat (= 12)
Standards-Version: 4.4.1
Homepage: https://github.com/NunoSempere/longNowForMd
#Vcs-Browser: https://salsa.debian.org/debian/longnow
#Vcs-Git: https://salsa.debian.org/debian/longnow.git
Package: longnow
Architecture: all
Depends: ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

View File

@ -1,41 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: longnow
Upstream-Contact: <preferred name and address to reach the upstream project>
Source: <url://example.com>
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: MIT
Files: debian/*
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid picking licenses with terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
#
# If you need, there are some extra license texts available in two places:
# /usr/share/debhelper/dh_make/licenses/
# /usr/share/common-licenses/

View File

@ -1 +0,0 @@
longnow_1.1~impish-1_source.buildinfo utils optional

View File

@ -1 +0,0 @@
longnow usr/bin

View File

@ -1,25 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,134 +0,0 @@
#!/bin/bash
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
linksFile="$1.links"
linksFile2="$1.links2"
echo ""
echo "Extracting links..."
rm "$1.links" -f
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
awk '!seen[$0]++' "$linksFile" > "$linksFile2" && mv "$linksFile2" "$linksFile"
echo "Done."
numLinesLinkFile=$(wc -l "$linksFile" | awk '{ print $1 }')
totalTimeInMinutes=$(echo "scale=0; ($numLinesLinkFile*7.5 + 60*$numLinesLinkFile/15)/60" | bc)
echo "Expected to take $totalTimeInMinutes mins."
}
function pushToArchive(){
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
# References:
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
# https://github.com/oduwsdl/archivenow
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
echo "Pushing to archive.org..."
echo ""
input="$1"
counter=1
archivedLinksFile="$1.archived"
errorsFile="$1.errors"
## rm -f "$archivedLinksFile"
rm -f "$errorsFile"
touch "$archivedLinksFile"
touch "$errorsFile"
## How to deal with errors that arise
echo "If this file contains errors, you can deal with them as follows:" >> "$errorsFile"
echo "- Do another pass with \$ longnow yourfile.md. If you don't delete yourfile.md.links.archived, past archive links are remembered, and only the links which are not there are sent again" >> "$errorsFile"
echo "- Input the offending links manually to https://archive.org/, add the results to the yourfile.md.links.archived file manually, and then do another pass with \$ longnow yourfile.md" >> "$errorsFile"
echo "" >> "$errorsFile"
## Main body
while IFS= read -r line
do
wait
if [ $(($counter % 15)) -eq 0 ]; then
printf "Archive.org doesn't accept more than 15 links per min; sleeping for 1min...\n\n"
sleep 1m
fi
echo "Url: $line"
urlAlreadyContained=$( ( grep "$line$" "$archivedLinksFile"; grep "$line/$" "$archivedLinksFile" ) | tail -1 )
if [ "$urlAlreadyContained" == "" ]; then
archiveURL=$(archivenow --ia $line)
if [[ "$archiveURL" == "Error"* ]]; then
echo "$line" >> "$errorsFile"
echo "$archiveURL" >> "$errorsFile"
echo "" >> "$errorsFile"
echo "There was an error. See $errorsFile for how to deal with it."
else
echo "$archiveURL" >> "$archivedLinksFile"
fi
counter=$((counter+1))
numSecondsSleep=$((5+ ($RANDOM%15)))
else
archiveURL="$urlAlreadyContained"
numSecondsSleep=0
fi
echo $archiveURL
echo "Sleeping for $numSecondsSleep seconds..."
sleep $numSecondsSleep
echo ""
done < "$input"
echo "Done."
echo ""
}
function addArchiveLinksToFile(){
originalFile="$1"
originalFileTemp="$originalFile.temp"
linksFile="$1.links"
archivedLinksFile="$1.links.archived"
errorsFile="$1.links.errors"
longNowFile="$1.longnow"
echo "Creating longnow file @ $longNowFile..."
rm -f "$longNowFile"
touch "$longNowFile"
cp "$originalFile" "$originalFileTemp"
while IFS= read -r url
do
wait
archivedUrl=$( ( grep "$url$" "$archivedLinksFile"; grep "$url/$" "$archivedLinksFile") | tail -1)
if [ "$archivedUrl" != "" ]; then
## echo "Url: $url"
## echo "ArchivedUrl: $archivedUrl"
urlForSed="${url//\//\\/}"
archiveUrlForSed="${archivedUrl//\//\\/}"
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
##else
##echo "There was an error for $url; see the $errorsFile"
fi
done < "$linksFile"
mv "$originalFile" "$longNowFile"
mv "$originalFileTemp" "$originalFile"
echo "Done."
}
function longnow(){
doesArchiveNowExist=$(whereis "archivenow")
if [ "$doesArchiveNowExist" == "archivenow:" ]
then
echo "Required archivenow utility not found in path."
echo "Install with \$ pip install archivenow"
echo "(resp. \$ pip3 install archivenow)"
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
else
getMdLinks $1
pushToArchive $1.links
addArchiveLinksToFile $1
numLinesErrorFile=$(wc -l "$1.links.errors" | awk '{ print $1 }')
if [ "$numLinesErrorFile" -gt 4 ] ;then
echo "It seems that there are errors. To view and deal with them, see the $1.links.errors file"
fi
fi
}
longnow "$1" ## don't copy this line into your .bashrc file

View File

@ -1,38 +0,0 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 3.0 (quilt)
Source: longnow
Binary: longnow
Architecture: all
Version: 1.1~focal-1
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Homepage: https://github.com/NunoSempere/longNowForMd
Standards-Version: 4.4.1
Build-Depends: debhelper-compat (= 12)
Package-List:
longnow deb utils optional arch=all
Checksums-Sha1:
16a657ebffd6ccdbacd199da80606c8699490d52 2000 longnow_1.1~focal.orig.tar.xz
50984668250cf384936d45666b4c6a7808006ce7 2044 longnow_1.1~focal-1.debian.tar.xz
Checksums-Sha256:
7fe91dd5fabdb63e30da0c0737aa342cb04bdf3db64fb83413870f5084ce16d8 2000 longnow_1.1~focal.orig.tar.xz
a57b2d62da9a8337335c913d9ae3091bc78ef03d65bdf0a41382ecf73cf8779a 2044 longnow_1.1~focal-1.debian.tar.xz
Files:
f3b26c6a89f5153bca2c072a95b9fa67 2000 longnow_1.1~focal.orig.tar.xz
c1eee003a112dcd1c47f780f269849dd 2044 longnow_1.1~focal-1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQHNBAEBCgA3FiEEJgMJ0m3ydsnStpbJvUQaV89PZFcFAmDc2ZQZHG51bm8uc2Vt
cGVyZWxoQGdtYWlsLmNvbQAKCRC9RBpXz09kV3PzC/9ZHGu6WjELZTPoaUGGHPoq
JMIRG584EgzLAsRPrPaONzjQufABFzEeyoYje5IcjHSjp5SEq0KbtInAqpvYA2Td
JvyFL3PT76GrKads1TWGSH6YOivZfKUAQfyR8U8FujsCEX9uq48RwLVUYY0XQZ+1
IW/mGvrUS9kF7rqTKeHfu98+g0Z5QS4SXoHOqCQ92I84woSyx3f8cLZ4V08qwChY
TrA7c0SWNONG0OFXGT9z4jH1iC3m9sBU80wHH72TE15pFCl1OP+6VlvAcX7rNV4S
9I6IjHkSg7hkNA1GKgFEBPKm3Ws3R571S9g8wsWxz//0KnVCUhhQRsjyNs3aXa4R
3pyPU3P/yDfet9XI9NU4BmUzzoOqhE5I+OTSXQA6S7798sjke1aSW2LzMZ8BCBLD
Ok9cDMxEjHHrgwQ2X7xlRCi2eR7X4Gq0T6qaevlmcJqR4Fc++nSZhHWkjRi6Z/BH
+ScnvyV0Zw23a1gw6SBCyuazdtAbmg2cbruDFvjI2+c=
=3d8/
-----END PGP SIGNATURE-----

View File

@ -1,33 +0,0 @@
dpkg-buildpackage -us -uc -ui -S
dpkg-buildpackage: info: source package longnow
dpkg-buildpackage: info: source version 1.1~focal-1
dpkg-buildpackage: info: source distribution focal
dpkg-buildpackage: info: source changed by Nuno Sempere <nuno.semperelh@gmail.com>
dpkg-source --before-build .
fakeroot debian/rules clean
dh clean
dh_clean
dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building longnow using existing ./longnow_1.1~focal.orig.tar.xz
dpkg-source: info: building longnow in longnow_1.1~focal-1.debian.tar.xz
dpkg-source: info: building longnow in longnow_1.1~focal-1.dsc
dpkg-genbuildinfo --build=source
dpkg-genchanges --build=source >../longnow_1.1~focal-1_source.changes
dpkg-genchanges: info: including full source code in upload
dpkg-source --after-build .
dpkg-buildpackage: info: full upload (original source is included)
Now running lintian longnow_1.1~focal-1_source.changes ...
E: longnow source: debian-rules-is-dh_make-template
Finished running lintian.
Now signing changes and any dsc files...
signfile dsc longnow_1.1~focal-1.dsc Nuno Sempere <nuno.semperelh@gmail.com>
fixup_buildinfo longnow_1.1~focal-1.dsc longnow_1.1~focal-1_source.buildinfo
signfile buildinfo longnow_1.1~focal-1_source.buildinfo Nuno Sempere <nuno.semperelh@gmail.com>
fixup_changes dsc longnow_1.1~focal-1.dsc longnow_1.1~focal-1_source.changes
fixup_changes buildinfo longnow_1.1~focal-1_source.buildinfo longnow_1.1~focal-1_source.changes
signfile changes longnow_1.1~focal-1_source.changes Nuno Sempere <nuno.semperelh@gmail.com>
Successfully signed dsc, buildinfo, changes files

View File

@ -1,193 +0,0 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.0
Source: longnow
Binary: longnow
Architecture: source
Version: 1.1~focal-1
Checksums-Md5:
dfb0cc57ff7ca6c2ffde30cee1e1ee0b 1604 longnow_1.1~focal-1.dsc
Checksums-Sha1:
3ce2cc9aef4d1dc49c215a4d8df56f62c64dcb48 1604 longnow_1.1~focal-1.dsc
Checksums-Sha256:
bb7f173bb190e6dcc1ebd8d1c5ddbe49c71b2e984e7d042e6857ab6301f9d1e2 1604 longnow_1.1~focal-1.dsc
Build-Origin: Ubuntu
Build-Architecture: amd64
Build-Date: Wed, 30 Jun 2021 22:52:34 +0200
Build-Tainted-By:
merged-usr-via-symlinks
usr-local-has-configs
usr-local-has-libraries
usr-local-has-programs
Installed-Build-Depends:
autoconf (= 2.69-11.1),
automake (= 1:1.16.1-4ubuntu6),
autopoint (= 0.19.8.1-10build1),
autotools-dev (= 20180224.1),
base-files (= 11ubuntu5.3),
base-passwd (= 3.5.47),
bash (= 5.0-6ubuntu1.1),
binutils (= 2.34-6ubuntu1.1),
binutils-common (= 2.34-6ubuntu1.1),
binutils-x86-64-linux-gnu (= 2.34-6ubuntu1.1),
bsdmainutils (= 11.1.2ubuntu3),
bsdutils (= 1:2.34-0.1ubuntu9.1),
build-essential (= 12.8ubuntu1.1),
bzip2 (= 1.0.8-2),
coreutils (= 8.30-3ubuntu2),
cpp (= 4:9.3.0-1ubuntu2),
cpp-9 (= 9.3.0-17ubuntu1~20.04),
dash (= 0.5.10.2-6),
debconf (= 1.5.73),
debhelper (= 12.10ubuntu1),
debianutils (= 4.9.1),
dh-autoreconf (= 19),
dh-strip-nondeterminism (= 1.7.0-1),
diffutils (= 1:3.7-3),
dpkg (= 1.19.7ubuntu3),
dpkg-dev (= 1.19.7ubuntu3),
dwz (= 0.13-5),
file (= 1:5.38-4),
findutils (= 4.7.0-1ubuntu1),
g++ (= 4:9.3.0-1ubuntu2),
g++-9 (= 9.3.0-17ubuntu1~20.04),
gcc (= 4:9.3.0-1ubuntu2),
gcc-10-base (= 10.3.0-1ubuntu1~20.04),
gcc-9 (= 9.3.0-17ubuntu1~20.04),
gcc-9-base (= 9.3.0-17ubuntu1~20.04),
gettext (= 0.19.8.1-10build1),
gettext-base (= 0.19.8.1-10build1),
grep (= 3.4-1),
groff-base (= 1.22.4-4build1),
gzip (= 1.10-0ubuntu4),
hostname (= 3.23),
init-system-helpers (= 1.57),
install-info (= 6.7.0.dfsg.2-5),
intltool-debian (= 0.35.0+20060710.5),
libacl1 (= 2.2.53-6),
libarchive-zip-perl (= 1.67-2),
libasan5 (= 9.3.0-17ubuntu1~20.04),
libatomic1 (= 10.3.0-1ubuntu1~20.04),
libattr1 (= 1:2.4.48-5),
libaudit-common (= 1:2.8.5-2ubuntu6),
libaudit1 (= 1:2.8.5-2ubuntu6),
libbinutils (= 2.34-6ubuntu1.1),
libblkid1 (= 2.34-0.1ubuntu9.1),
libbsd0 (= 0.10.0-1),
libbz2-1.0 (= 1.0.8-2),
libc-bin (= 2.31-0ubuntu9.2),
libc-dev-bin (= 2.31-0ubuntu9.2),
libc6 (= 2.31-0ubuntu9.2),
libc6-dev (= 2.31-0ubuntu9.2),
libcap-ng0 (= 0.7.9-2.1build1),
libcc1-0 (= 10.3.0-1ubuntu1~20.04),
libcroco3 (= 0.6.13-1),
libcrypt-dev (= 1:4.4.10-10ubuntu4),
libcrypt1 (= 1:4.4.10-10ubuntu4),
libctf-nobfd0 (= 2.34-6ubuntu1.1),
libctf0 (= 2.34-6ubuntu1.1),
libdb5.3 (= 5.3.28+dfsg1-0.6ubuntu2),
libdebconfclient0 (= 0.251ubuntu1),
libdebhelper-perl (= 12.10ubuntu1),
libdpkg-perl (= 1.19.7ubuntu3),
libelf1 (= 0.176-1.1build1),
libffi7 (= 3.3-4),
libfile-stripnondeterminism-perl (= 1.7.0-1),
libgcc-9-dev (= 9.3.0-17ubuntu1~20.04),
libgcc-s1 (= 10.3.0-1ubuntu1~20.04),
libgcrypt20 (= 1.8.5-5ubuntu1),
libgdbm-compat4 (= 1.18.1-5),
libgdbm6 (= 1.18.1-5),
libglib2.0-0 (= 2.64.6-1~ubuntu20.04.3),
libgmp10 (= 2:6.2.0+dfsg-4),
libgomp1 (= 10.3.0-1ubuntu1~20.04),
libgpg-error0 (= 1.37-1),
libicu66 (= 66.1-2ubuntu2),
libisl22 (= 0.22.1-1),
libitm1 (= 10.3.0-1ubuntu1~20.04),
liblsan0 (= 10.3.0-1ubuntu1~20.04),
liblz4-1 (= 1.9.2-2ubuntu0.20.04.1),
liblzma5 (= 5.2.4-1ubuntu1),
libmagic-mgc (= 1:5.38-4),
libmagic1 (= 1:5.38-4),
libmount1 (= 2.34-0.1ubuntu9.1),
libmpc3 (= 1.1.0-1),
libmpfr6 (= 4.0.2-1),
libpam-modules (= 1.3.1-5ubuntu4.2),
libpam-modules-bin (= 1.3.1-5ubuntu4.2),
libpam-runtime (= 1.3.1-5ubuntu4.2),
libpam0g (= 1.3.1-5ubuntu4.2),
libpcre2-8-0 (= 10.34-7),
libpcre3 (= 2:8.39-12build1),
libperl5.30 (= 5.30.0-9ubuntu0.2),
libpipeline1 (= 1.5.2-2build1),
libquadmath0 (= 10.3.0-1ubuntu1~20.04),
libseccomp2 (= 2.5.1-1ubuntu1~20.04.1),
libselinux1 (= 3.0-1build2),
libsigsegv2 (= 2.12-2),
libsmartcols1 (= 2.34-0.1ubuntu9.1),
libstdc++-9-dev (= 9.3.0-17ubuntu1~20.04),
libstdc++6 (= 10.3.0-1ubuntu1~20.04),
libsub-override-perl (= 0.09-2),
libsystemd0 (= 245.4-4ubuntu3.7),
libtinfo6 (= 6.2-0ubuntu2),
libtool (= 2.4.6-14),
libtsan0 (= 10.3.0-1ubuntu1~20.04),
libubsan1 (= 10.3.0-1ubuntu1~20.04),
libuchardet0 (= 0.0.6-3build1),
libudev1 (= 245.4-4ubuntu3.7),
libunistring2 (= 0.9.10-2),
libuuid1 (= 2.34-0.1ubuntu9.1),
libxml2 (= 2.9.10+dfsg-5ubuntu0.20.04.1),
libzstd1 (= 1.4.4+dfsg-3ubuntu0.1),
linux-libc-dev (= 5.4.0-77.86),
login (= 1:4.8.1-1ubuntu5.20.04),
lsb-base (= 11.1.0ubuntu2),
m4 (= 1.4.18-4),
make (= 4.2.1-1.2),
man-db (= 2.9.1-1),
mawk (= 1.3.4.20200120-2),
ncurses-base (= 6.2-0ubuntu2),
ncurses-bin (= 6.2-0ubuntu2),
patch (= 2.7.6-6),
perl (= 5.30.0-9ubuntu0.2),
perl-base (= 5.30.0-9ubuntu0.2),
perl-modules-5.30 (= 5.30.0-9ubuntu0.2),
po-debconf (= 1.0.21),
sed (= 4.7-1),
sensible-utils (= 0.0.12+nmu1),
sysvinit-utils (= 2.96-2.1ubuntu1),
tar (= 1.30+dfsg-7ubuntu0.20.04.1),
tzdata (= 2021a-0ubuntu0.20.04),
util-linux (= 2.34-0.1ubuntu9.1),
xz-utils (= 5.2.4-1ubuntu1),
zlib1g (= 1:1.2.11.dfsg-2ubuntu1.2)
Environment:
DEB_BUILD_OPTIONS="parallel=4"
LANG="en_US.UTF-8"
LC_ADDRESS="de_AT.UTF-8"
LC_IDENTIFICATION="de_AT.UTF-8"
LC_MEASUREMENT="de_AT.UTF-8"
LC_MONETARY="de_AT.UTF-8"
LC_NAME="de_AT.UTF-8"
LC_NUMERIC="de_AT.UTF-8"
LC_PAPER="de_AT.UTF-8"
LC_TELEPHONE="de_AT.UTF-8"
LC_TIME="de_AT.UTF-8"
SOURCE_DATE_EPOCH="1625086353"
-----BEGIN PGP SIGNATURE-----
iQHNBAEBCgA3FiEEJgMJ0m3ydsnStpbJvUQaV89PZFcFAmDc2ZsZHG51bm8uc2Vt
cGVyZWxoQGdtYWlsLmNvbQAKCRC9RBpXz09kVxrmC/4uRp/hdjCGBGSIozyxBijX
yf0ytJdLVZFGRkzi1XmImfqNwyDXvgCRNQzN+MV28jPKaz2tAQuAWUqA2cbwj6TH
rtD/6s198VJOUyf5qwwiWDArJdM9o4A/ln8BO5wCV63R+8tjDyyjLT/jzFhpqFFf
qhfQkuW4GL0Yn47cVs6asUXl8CWkiT1tzrjnWfGQ8s0x7al13AsRBdmRRRWizuwd
re9hOhg764rsk+cg3gDClaZsr1qo3UAmDZrTnDW8XOWzX3ZSSlK6lj8qFl6BlYgW
iPWqG8kAv6w2hMTUOB+/AWPHaJMW1M++e0DXvzpE0sE8ZVHmjrQjYbYd5PAhbiA+
WEeCULX8OGXX2/0I4eubynw6RJChPl2ecSyEsp0CxuDNMR5DZISLI6xDtp1BTdHR
af8X+Z2MIyRzxk7gbmUf/Cs+8wm6e6CXgGlcxDpypyFNrpqhukTTN3+ybalG59II
Tjl95ua7YhUeHyhj3EVlOz9Pxi2Z4zompNth6mi1LLs=
=UfSc
-----END PGP SIGNATURE-----

View File

@ -1,46 +0,0 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Wed, 30 Jun 2021 22:52:33 +0200
Source: longnow
Architecture: source
Version: 1.1~focal-1
Distribution: focal
Urgency: medium
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
Changed-By: Nuno Sempere <nuno.semperelh@gmail.com>
Changes:
longnow (1.1~focal-1) focal; urgency=medium
.
* Minor tweak.
Checksums-Sha1:
3ce2cc9aef4d1dc49c215a4d8df56f62c64dcb48 1604 longnow_1.1~focal-1.dsc
16a657ebffd6ccdbacd199da80606c8699490d52 2000 longnow_1.1~focal.orig.tar.xz
50984668250cf384936d45666b4c6a7808006ce7 2044 longnow_1.1~focal-1.debian.tar.xz
aca18304424cf83c51f75316c2cf8895dd148a0c 6156 longnow_1.1~focal-1_source.buildinfo
Checksums-Sha256:
bb7f173bb190e6dcc1ebd8d1c5ddbe49c71b2e984e7d042e6857ab6301f9d1e2 1604 longnow_1.1~focal-1.dsc
7fe91dd5fabdb63e30da0c0737aa342cb04bdf3db64fb83413870f5084ce16d8 2000 longnow_1.1~focal.orig.tar.xz
a57b2d62da9a8337335c913d9ae3091bc78ef03d65bdf0a41382ecf73cf8779a 2044 longnow_1.1~focal-1.debian.tar.xz
2f59a258a1a27a9a90c32d6c734afcb3559b83f92461f9a5010e9bbea5202897 6156 longnow_1.1~focal-1_source.buildinfo
Files:
dfb0cc57ff7ca6c2ffde30cee1e1ee0b 1604 utils optional longnow_1.1~focal-1.dsc
f3b26c6a89f5153bca2c072a95b9fa67 2000 utils optional longnow_1.1~focal.orig.tar.xz
c1eee003a112dcd1c47f780f269849dd 2044 utils optional longnow_1.1~focal-1.debian.tar.xz
b3bfcf8cf25425e73c4ce368d4e90711 6156 utils optional longnow_1.1~focal-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQHNBAEBCgA3FiEEJgMJ0m3ydsnStpbJvUQaV89PZFcFAmDc2ZsZHG51bm8uc2Vt
cGVyZWxoQGdtYWlsLmNvbQAKCRC9RBpXz09kVzQrDACCqTKQQQPr5uU+94W89Mq0
Sz9ITV2mcoXXyeUNiwQkyTx2mAPi9Ms5Ikicw1dMNerKPfIHhTOW0szJP8zZuha/
lC78erKZN/Rk9NIeny8lnO/Cf7pMTQxnNTZQ/6pPXeoq3rY5RWfXLkVjv14eQF7e
sf4a1+4B0pGBpWtrwBBf2Awh0Es+WSiwkJkOHgqIvW2EE1xIa17XBXuSoKSPJMHr
1I5o3AXhQVtt/LyzrFSBclIicdkIC8Bv6CZA+m7WJ8cZ6ntDLx767Mgrozv1s50b
QcQ7S16qtp/OZba/p9y4svfAB+udybRmogDQasKgikd1kXDkh50crTI08w/8lZVu
AFAaCwYqaHZ4bKw6nxpo8lb+G8D7Qjx3kid/EPXQi+MEGKgoxuIpD4VqNT9uR1WV
+PYisBlsqwmqlZzQrlCtaRyJz/ibQExgU1/A1M46AqV6EHm/o0K7yZVbe/UYz8Qr
U9vrvXgIW7Y2W/lAo9o9uKoW3l7lE6rkWRypxdTdW+g=
=6m6z
-----END PGP SIGNATURE-----

View File

@ -1,5 +0,0 @@
Successfully uploaded longnow_1.1~focal-1.dsc to ppa.launchpad.net for ppa.
Successfully uploaded longnow_1.1~focal.orig.tar.xz to ppa.launchpad.net for ppa.
Successfully uploaded longnow_1.1~focal-1.debian.tar.xz to ppa.launchpad.net for ppa.
Successfully uploaded longnow_1.1~focal-1_source.buildinfo to ppa.launchpad.net for ppa.
Successfully uploaded longnow_1.1~focal-1_source.changes to ppa.launchpad.net for ppa.