Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
package-helpers
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Kevin
package-helpers
Commits
bc098d21
Commit
bc098d21
authored
8 years ago
by
Ruben Rodriguez
Browse files
Options
Downloads
Patches
Plain Diff
Improved signature verification system for repositories and dsc files
parent
28cedae7
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
helpers/config
+27
-12
27 additions, 12 deletions
helpers/config
with
27 additions
and
12 deletions
helpers/config
+
27
−
12
View file @
bc098d21
...
@@ -86,16 +86,18 @@ if [ -f trusted.local.gpg ]
...
@@ -86,16 +86,18 @@ if [ -f trusted.local.gpg ]
then
then
cp
trusted.local.gpg
"
${
LOCAL_APT
}
/etc/trusted.gpg"
cp
trusted.local.gpg
"
${
LOCAL_APT
}
/etc/trusted.gpg"
else
else
#Trisquel key
#
Trisquel key
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
B4EFB9F38D8AEBF1
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
B4EFB9F38D8AEBF1
>
/dev/null
#Ubuntu gpg keys
#
Ubuntu gpg keys
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
40976EAF437D05B5
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
40976EAF437D05B5
>
/dev/null
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
3B4FE6ACC0B21F32
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
3B4FE6ACC0B21F32
>
/dev/null
#Debian gpg keys
#
Debian gpg keys
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
9D6D8F6BC857C906
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
9D6D8F6BC857C906
>
/dev/null
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
8B48AD6246925553
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--keyserver
keyserver.ubuntu.com
--recv-keys
8B48AD6246925553
>
/dev/null
fi
fi
# Also import the repository key optionally listed in the helper
[
"1
$REPOKEY
"
!=
"1"
]
&&
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--recv-keys
--keyserver
keyserver.ubuntu.com
$REPOKEY
cat
<<
EOF
>
${
LOCAL_APT
}
/etc/apt.sources.list
cat
<<
EOF
>
${
LOCAL_APT
}
/etc/apt.sources.list
deb-src
$MIRROR
$UPSTREAM
main universe
deb-src
$MIRROR
$UPSTREAM
main universe
...
@@ -106,8 +108,6 @@ EOF
...
@@ -106,8 +108,6 @@ EOF
[
"1
$EXTERNAL
"
!=
"1"
]
&&
eval echo
"
$EXTERNAL
"
>>
${
LOCAL_APT
}
/etc/apt.sources.list
[
"1
$EXTERNAL
"
!=
"1"
]
&&
eval echo
"
$EXTERNAL
"
>>
${
LOCAL_APT
}
/etc/apt.sources.list
[
"1
$SIGNKEY
"
!=
"1"
]
&&
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--recv-keys
--keyserver
keyserver.ubuntu.com
$SIGNKEY
#Cleanup
#Cleanup
rm
-rf
PACKAGES/
$PACKAGE
rm
-rf
PACKAGES/
$PACKAGE
mkdir
PACKAGES/
$PACKAGE
mkdir
PACKAGES/
$PACKAGE
...
@@ -116,8 +116,23 @@ cd PACKAGES/$PACKAGE
...
@@ -116,8 +116,23 @@ cd PACKAGES/$PACKAGE
#Get package and uncompress it
#Get package and uncompress it
apt-get update
-c
$LOCAL_APT
/etc/apt.conf
apt-get update
-c
$LOCAL_APT
/etc/apt.conf
apt-get
source
$PACKAGE
--download-only
-c
${
LOCAL_APT
}
/etc/apt.conf
apt-get
source
$PACKAGE
--download-only
-c
${
LOCAL_APT
}
/etc/apt.conf
# verify it first
# Verify it first
gpgv
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg
*
.dsc
# Import the key for the package uploader
# Use the one listed in the helper if available, otherwise download the one listed in the dsc
if
[
"1
$SIGNKEY
"
!=
"1"
]
;
then
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--recv-keys
--keyserver
keyserver.ubuntu.com
$SIGNKEY
>
/dev/null
gpgv
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg
*
.dsc
else
if
grep
-q
"BEGIN PGP SIGNATURE"
*
.dsc
;
then
KEY
=
$(
gpgv
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg
*
.dsc 2>&1 |
grep
"key ID"
|
sed
's/.*key ID //'
||
true
)
apt-key
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg adv
--recv-keys
--keyserver
keyserver.ubuntu.com
$KEY
>
/dev/null
gpgv
--keyring
${
LOCAL_APT
}
/etc/trusted.gpg
*
.dsc
else
echo
WARNING! The dsc file is not gpg signed!
[
-z
"
$EXTERNAL
"
]
&&
exit
1
fi
fi
dpkg-source
--no-check
-x
--skip-patches
*
.dsc
source
dpkg-source
--no-check
-x
--skip-patches
*
.dsc
source
find
-maxdepth
1
-type
f | xargs
rm
find
-maxdepth
1
-type
f | xargs
rm
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment