Compare commits
No commits in common. "master" and "develop" have entirely different histories.
@ -1,33 +0,0 @@
|
|||||||
AUX btrfs_create_filesystem_snapshot 628 BLAKE2B 7950911ac166c3a2c722b9d45521124b93efd169dea46534e474be3fb58317440cef1a9f0e8f9405b271d911508af540ebfdc3c4e3d5cf133e3c5e612e98d1e0 SHA512 416fb8f5f3687a3c369cc2b199d4c8b4170494f0a119566a91ac6a0c2f202dc5049804c10508b66ba657011b39be5ddd055091cd531a665b4398899f404086ca
|
|
||||||
AUX btrfs_remove_filesystem_snapshot 662 BLAKE2B 418900f58eb404834114f4494fd8e411e677f2dddb99dc230875cef9bf72afdea1a3dfa524aaf157a386f85e19dc1cff23058e078faef17f81aa97874b50a5d6 SHA512 860021ce5b8d92ff58e8286991162c7bab45493c3b9c87577a43764f6b416397448bb99b8fcb850c4c5853927cb0a8637792b75ff53ee7ee257da3f5d29ae3a7
|
|
||||||
AUX dattobd_create_filesystem_snapshot 1605 BLAKE2B ef6a7e29aaf0ecb884345be2d43673ab579b6378a6afb9431bc39e16b10b43a81f3c1490d67d172490c0bae403369cc863557957d45792ea76d1203c93bea3b4 SHA512 fde5912b589a495dc03a26d174d7673ff746eed34d6b1ed64758b2dc2ec2ec53e02e6a28b04734a7112f16687b31d25123e99dbc69e9dcab48773675382ec582
|
|
||||||
AUX dattobd_remove_filesystem_snapshot 1671 BLAKE2B 8b8e349e9fa535a60b75e08d61ed4788c6a62fcf169f59a25fe9359cc2ed01cfaae665a9a415cd7df0a9bae76823df712ebce484ac03b2cb5d659c7ec5c31d37 SHA512 a8b58bba1b8b0a6b70395f9fe4277eeee60a0ba534f4eddb999d719915c76b76facb54172e03b7b29b9f725a4d720e9b676b05e5081f7528570956e903fe59bd
|
|
||||||
AUX logrotate_urbackupclient 258 BLAKE2B 533acaad88eb3f5d31022523ed8255acd591dfacb74c112598d990148fa0c4d06fd4802d42e943e12af7bed918290bcfea372733a1ff92ec9440ba6fa199a259 SHA512 7c1bca00aeee5a37c71d097ca7dd29b8c17c876cd9c4fd00c2955d9006815d5d45d25f8d6479cc229c2b328fa413d677f03087e0a1937f7c279844f75ea3eeb1
|
|
||||||
AUX lvm_create_filesystem_snapshot 1473 BLAKE2B 5b732b55e3a8b3cbef55881815d8d5dfeea2a34e792365e2dafe8af1419ead917f28b3e80e04d489521ee1f7ad307e4dab1e074c6100ce92ecfc3200b42cb420 SHA512 a2d4ba03ae15582d2cd74ff68c38ff0f90d75a6eb5c241f9a022b0652fa2dc9b184439f6bda9a9538645925f739503ee7b3fc7bb232589583cdeb6dc27d74e5c
|
|
||||||
AUX lvm_remove_filesystem_snapshot 1262 BLAKE2B ae0211ee3249766f0eb7ab8fe9ad19657ca9177412622f21ab319470d6b547e70a2f6435e5ddb23d8d4702c78f15112a6189073ca01f90e8a62eeb897b120326 SHA512 9bdfefccdd9d6e37a77975324a7c417f3de2aa59e6da0bfde3c318b8c6f3d7f4629f3a41eebee548b9c572b8ed39640434cc08bd020d25362fddffc4426438de
|
|
||||||
AUX snapshot.cfg 641 BLAKE2B 50e068ee6b72c4d04dbe4d4d32db996c8958693d29ece25dcd1279b21d62b8adfd2dd9819022ae1c05efdbe816eb0b018f63e2d48b057d7539db65839a6c20f3 SHA512 5125051424ca48e6708997061af9c5ee74b48d0d9840f26df3bf79892c4d48293d0569f5b3c5408f1c70b493c7f56ae225a01891db7ad05e3890cfe0357999bd
|
|
||||||
AUX urbackup-client-2.0.36-autoupdate.patch 6538 BLAKE2B bfb7ee5d2a5ebcddbf2b4561fd24e919a078b35116547cb68eda8e6c7b246d5cd49edfdd536793ac21f7ac3d6792d617e2a1aeffa4b62439ce6654144d26792d SHA512 e29716cd16c95f24a7ad44312ed46d34560382a01b72f18ef0e9a7e4a10301a641d0b462c69b050dd6a11154c5517499be2df3a50951cf8bd0a162ad0c16d41d
|
|
||||||
AUX urbackup-client-2.0.36-conf.patch 456 BLAKE2B 13dfb03aeabdf8d7b724ba283cb84711bd2645633436119be15589afb6edd6da637ec6e4f5e6878a19de24782e3a9d5a39fd0338d43d200980381d026eb8bdad SHA512 cb5e1312cbf99c6e78b141c5b883e65f7ae7a5457060aa5b5beebcb1af43a689ba2808d133727def41955bd47fe58aea1a397a555d1a086baf24cada46ca1683
|
|
||||||
AUX urbackup-client-2.0.36-etc-perms.patch 659 BLAKE2B 5588f9904fde3e9d1c295d503d82342aaff2c20f5c0021e530ce6a8ab51ea01b4f7928baf1eb8651a1f75afd7e9d886c1f1c01f957feaec5a2f7d855be6853cb SHA512 e5398f5209a8b50b572e5776322520dcce70bfd1665a80790b2a86a9d384c589452240a4291af6762cce6bf3072d63fde057ce96cc673bb0a9dcf615ece8fc9c
|
|
||||||
AUX urbackup-client-2.0.36-gcc-fortify.patch 731 BLAKE2B 8f71021b4ebe240b25b28a602cfddac2bdf99d9022c858fd69f12ea35155d8c73dee87552fd18ac851c2e8f3ab43cecfbbaea3730a8ea3c4819ee621148c680b SHA512 2b3ada4c57c90cc0bca0043e502322034d0e53a0533de73f3bcee153a4283f26dd2da7b6a30b0deb8e13d7ba14cdda80cd3d6dcbea527e7343f7d07585116f82
|
|
||||||
AUX urbackup-client-2.0.36-locale.patch 6156 BLAKE2B e54a3fbacb179eb40a28857c6252941aa760df5549636c90b9b21d7bba8c86c15075cb4e8f9bf9130ece4b8fb860e8e4933852d314a2b22f1c93088f11da6be6 SHA512 16129e44da4dfbbdb825fb745ef0f77b9cbff4530ef3762360849ce14a6c4bb9d6c3d615e2d712a1d395119d78eb4648e2353ba89677d617cac8c432e5145271
|
|
||||||
AUX urbackup-client-2.0.36-manpage.patch 764 BLAKE2B 062bfc6c555b71213a329d331dde764439b8eb292c9d436f958a921b85aee2926e2cee82ecb29d82d83535e90c1184d8f1f6ccbc5b4b0155f2f2fbdb91385d91 SHA512 549401b24f509ab118aa70007d83b07af0c85822b82cb33ad39c64892d509064051ff23bb7413ac693df1c2a452fc19c57086a8f4412d5d4bf7aff09019eca5d
|
|
||||||
AUX urbackup-client-2.1.7-autoupdate.patch 4009 BLAKE2B 0c3c8e86c7b0d0480be0c5c525bb832ca77ca5ab6b284edcf08d338a9f77d851fef9a55d0c4f9bb1efc1622c51743da66b5e7da13c284deb639ff859a288b3a6 SHA512 93555d73ebf03154004f82e9e5d2c97d1c11e85984fdb48098abe13f140372ac874cea957a2c3ea5dbd9404f9461d0da85e7adf9132c168e0c1ceb92d852d714
|
|
||||||
AUX urbackup-client-2.1.7-conf.patch 454 BLAKE2B c596c28e8d4eac7cef4da72a44e640fe397674df6e3debce46ecd009358d9bbfb10394f6ac4a696df7b51b4fdab639f8cc088366a7c5f31269d2877c50c2bc8f SHA512 5b6f9bd241614875871e2ce6b0144f98b173183eee57f3f406c6d5f3bb413bf485f1c0c01f9d403d5c9c4fb05fb67bbb006ca94d181dbda9d94a30ea65521cad
|
|
||||||
AUX urbackup-client-2.1.7-etc-perms.patch 657 BLAKE2B 5b7f905d04585fcf9883662cf35e8d9bd39a5b3053bed6221f875756583b230f150fa3835df4fa6b36de53878908099d3edc2707417f8f301ebe88ee65a2b08b SHA512 f6532b38d80ca82d286d171b2c2d15d33580f8f22a09f573e9fa648c0980a5bc17169f771b716305d100ce2a594e996b940716dcf07a19b14d91f59f857eba5f
|
|
||||||
AUX urbackup-client-2.1.7-gcc-fortify.patch 729 BLAKE2B 1e2a6c2e5453beb388aece2f176d7ad6d4861d1505d6c7fef424d5fb528397d6a2b08fc73589b7949928b6601d6ff474b73c2681e3c37e168adbc6249deb986e SHA512 7d6c8192e10e233e2cc362aff93489cdf4ddbfb0cebe6d5e9142dde3822bb0b3d65dd6f8c7846a7de608587444dbed21f7ff62b4cca99da1ca03bdd5447c3e5a
|
|
||||||
AUX urbackup-client-2.1.7-locale.patch 5291 BLAKE2B 69f7250a664955dff763ed6041f51992043e51aacb889d07c8853a2027f70a6147cb387ef1289051b7306223b6a8f7761ddae745b24019a50caf0fc8b301e1ce SHA512 f6d10a91b3f37539cf042f6c1a893a8a2b4ef085efd3ed7f5e4c55b0465fb6d36c8e0b3eaa1d33025d582ec7e3669c0e196c80b80199ece257596cccb4d110a4
|
|
||||||
AUX urbackup-client-2.1.7-manpage.patch 762 BLAKE2B 32867b389f62cd984330aa020c56509e39718ab876339be17806d8e07e5f7a89924fcd8687201e4ca30e8fda6bb4a3285ebfac605169cfcddb1e9c7c92dc9538 SHA512 8fd961ce1679ffb0a68a302ed3a4e361e7b91927dd8e02948ed6b39f10f3d78e123e8315e0dbc20b04e15275a1df6791952d56974f1f2082fce43cda229c17af
|
|
||||||
AUX urbackup-client-2.2.6-autoupdate.patch 4004 BLAKE2B c4a3f292ddccd42e181f0ca47db6e052fefb688fc91b2263e5ab05d3e53c78ca893fe96a041ecc84805b517fdbc9809d5ba801abf13afb0155f74f89d74b56a7 SHA512 f3f6fe1327e962201846fe290a31c8245a6ca7176982156ee5f176786804bc7092d667d1b64c10a82fc21079909f2133d2fb7171e9f791cd1038fd2c452db959
|
|
||||||
AUX urbackup-client-2.2.6-conf.patch 449 BLAKE2B ef041b9bb2ae2da0c27d288d9f891b4da7d02b47682c0ad0c70391e86ec327edb6777398b63964f3fe3ec6b0585d38f9ea996c90a4b813d16ca718ee44ba49a5 SHA512 acdaa882a426248898b944e3276296004d8340f2b47abe9b679270e53573c4e658e0eeb623ba5284eb66a3206c39ea99bca4465298baf2e7a1027970cc5acd51
|
|
||||||
AUX urbackup-client-2.2.6-etc-perms.patch 657 BLAKE2B 7dcd03d77e7e0b2e9c1de5b218931a0b3e4fb19567cab6e099523a4304308c6d083da4bd58bbbec5436383935a3f7709a5780178912d8cca87b450c06f7f1805 SHA512 ceaa1150055dacc4a12e3c93ff1403400da55921aee94350c0c4ddfd18b1d35096b4e590a7fc8a6c12734b842a99350c00153047c87c10d1dec2313f06445b0f
|
|
||||||
AUX urbackup-client-2.2.6-gcc-fortify.patch 755 BLAKE2B ddd12c744149a1d96124160b6427ea46af68a345476527f998919329de98c073974b9b91dee092dca389289dcf5c8cab1a9eddecda0fdb3e4b65cdcbad106ea9 SHA512 1e443f77d5a8aeec0a69085cbc49818cc576fdf8e87cbe7eee59d7d204b77c74f34005c8b86b4dd6e5086cfaeb976bc8a943782eb19dc406966fe2120b442fcd
|
|
||||||
AUX urbackup-client-2.2.6-locale.patch 5286 BLAKE2B 010e913808d44c188b96c218fc90381bb5a608c9eb36451f78b69e8dcb71669cd6d47ed88d176d6f4eced4bfa62420ffa1af1011618b3bbe5059e8edbc42cd23 SHA512 07114b7f39cfc81be33ba239f71e673f1e5c6c9c92249d9537e04ea9584e84bf4036f8e7a92f6428e299f69cef87790cbe89083047390fcd545ca594af12ad25
|
|
||||||
AUX urbackup-client-2.2.6-manpage.patch 757 BLAKE2B cb1e5d256fc9c059854382b8e52115cb8f6f9c60865de2511f8583d7e6782944e29a16112df9cb37694c26f0fe8f887fe576c055703a1c318a90ea56ae9fdd6b SHA512 9f32a68b8f64fa789f5247979fcc0c8df72b7e36a17591cb2fbe53ed94bb2bbdf5ec75148f9f412c8b94a10fe12aaeb272e271d62ef49e4e656a5cbf9aaf3ba7
|
|
||||||
AUX urbackup-client.service 262 BLAKE2B 17171c3ec094cee63c20327745f23f0cdd12a69c423d828c81aafa74c85fbe3234421ad35799f502dc572a238598de40f4d40c280cab52dd0e91b0799833c557 SHA512 0c473ab8d43344b2c851359b9463986083b3a56fe435a2c357d3f6b4364da5929d70439495aea1ed4999d76e8e9668b3ca74a1b3a4dcb1e76d1ed3b39a4a5616
|
|
||||||
AUX urbackupclient 327 BLAKE2B cfcc574da44cf6b574f34fa837f0a763c2775c111c02b3c51e7d206c6df7955082609cf196dc844d00ae32dfbed00d851a9290afed85ba442e575475acb768d1 SHA512 11a7e51f4cc74f04db9c60a76be760a526823e8163d9e246b6de6e139db19be1aa88a49b564eed60f12f9d55891d48798ba98a03b4a12e221351e638737e680e
|
|
||||||
DIST urbackup-client-2.0.36.tar.gz 3086145 BLAKE2B 02da0ac67e2fdeebbfaa6ef6db2200ec372556641cc6aa4f02b51116763eb556b670b4aed5eed3b2b3cfe2a9ac6a48fe9bafa61c6712deb506f2cb6766d1b445 SHA512 55e5a550695e562ed2324e1f313f711ffdac2dd3c459f9a2ed03f2ce707baddd4bdf41d1dd5df8d9fcf6b05e55bf75ea0194da713b99ef7378e1c883c2b45e86
|
|
||||||
DIST urbackup-client-2.2.6.tar.gz 3370637 BLAKE2B 6ab874b87d303b9ca5948000df24ca9d5fe0702d18ec34c99b7678212ae97696c68fd86cd89e45d8772675bd9fa6460d1a2a4c2f1f7a555a36805887c8d19621 SHA512 7a8aedb131f5b2cfc61ec6541b53780d2f98fae3981a40b5ceeff26f77965bb3c3780e7b8b2cb4ba2876b919589257dbd7661b18a493bf8e3793f7a7354bbcc8
|
|
||||||
EBUILD urbackup-client-2.0.36.ebuild 2166 BLAKE2B 29b54e2c12e3ef5a04b8ee949823e228990679d680eb84ecc22c018959ae3e96852554d4f8a85da80dd6d6b4b87f2f74bb101cde10384d970e3146e0b2b64009 SHA512 488bfcd3b272d4d4b782e422b89c1aa9bfe6332da8dacec4d009ab3572245511b4385d99b6024f5e4b56b2409a0abb2c2d50b59cc8f4607adb61e1a36b0374e0
|
|
||||||
EBUILD urbackup-client-2.2.6.ebuild 2173 BLAKE2B 41f57f58b89eb5ab271f29730ef652a790d406241155af9551153d039e626e2748edb17efe5aa51344aaefe82a066b660a27f2c849098931ece724a0a0e8eb48 SHA512 2b32df475c933a129c2b8afac8aa97b1bf3a9be9c5777b50679e7c9deefa27fb50fa80118d390a80d5271832b7a846ca802404fb2a77b126dc3b1d56539c5c84
|
|
||||||
MISC metadata.xml 1123 BLAKE2B 4b25aa5a7e767678d81060ba8b33aeda3285bd58658fc0ff22bdf5eff0324adde276ece79f160e4c9595fd0f7d1579037f0edfaaa36fc6a161d786eacc022e1a SHA512 dbd9fe25bfe7e5b73f19e6ee51db5f2803ee6167443fe2bcb2bd9cd9f86fb6d5f59db05f358bb2b61a876553de3c04c06f0985fc060ec0ff467b8015413b2f8b
|
|
@ -1,33 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
mkdir -p /mnt/urbackup_snaps
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
SNAP_NAME="$3"
|
|
||||||
SNAP_ORIG_PATH="$4"
|
|
||||||
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
|
|
||||||
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2)
|
|
||||||
|
|
||||||
if [[ $TYPE == "" ]]
|
|
||||||
then
|
|
||||||
if btrfs subvolume list -o "$SNAP_MOUNTPOINT" > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
TYPE="btrfs"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $TYPE == "btrfs" ]]
|
|
||||||
then
|
|
||||||
btrfs subvolume snapshot -r "$SNAP_MOUNTPOINT" "$SNAP_DEST"
|
|
||||||
else
|
|
||||||
echo "Cannot create snapshot of file system with type $TYPE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "SNAPSHOT=$SNAP_DEST"
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,35 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
SNAP_NAME="$3"
|
|
||||||
SNAP_DEST="$4"
|
|
||||||
SNAP_ORIG_PATH="$5"
|
|
||||||
|
|
||||||
if ! test -e $SNAP_MOUNTPOINT
|
|
||||||
then
|
|
||||||
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | tr -s " " | cut -d" " -f2)
|
|
||||||
|
|
||||||
if [[ $TYPE == "" ]]
|
|
||||||
then
|
|
||||||
if btrfs subvolume list -o "$SNAP_MOUNTPOINT" > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
TYPE="btrfs"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $TYPE == "btrfs" ]]
|
|
||||||
then
|
|
||||||
btrfs subvolume delete "$SNAP_MOUNTPOINT"
|
|
||||||
else
|
|
||||||
echo "Cannot remove snapshot at $SNAP_MOUNTPOINT. File system type $TYPE not supported."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,87 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
mkdir -p /mnt/urbackup_snaps
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
|
|
||||||
DEVICE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1)
|
|
||||||
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2)
|
|
||||||
|
|
||||||
if [ "x$DEVICE" = "x" ]
|
|
||||||
then
|
|
||||||
echo "Cannot get device for filesystem $SNAP_MOUNTPOINT"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Snapshotting device $DEVICE via dattobd..."
|
|
||||||
|
|
||||||
NUM=0
|
|
||||||
|
|
||||||
while [ -e "/dev/datto$NUM" ]
|
|
||||||
do
|
|
||||||
NUM=`expr $NUM + 1`
|
|
||||||
done
|
|
||||||
|
|
||||||
if ! modprobe dattobd
|
|
||||||
then
|
|
||||||
echo "Dattobd kernel module not available"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Using /dev/datto$NUM..."
|
|
||||||
|
|
||||||
sync
|
|
||||||
|
|
||||||
dbdctl setup-snapshot "$DEVICE" "$SNAP_MOUNTPOINT/.datto_$SNAP_ID" $NUM
|
|
||||||
|
|
||||||
echo $NUM > ${SNAP_DEST}-num
|
|
||||||
|
|
||||||
DEV_SIZE=`blockdev --getsize /dev/datto$NUM`
|
|
||||||
|
|
||||||
truncate -s100M $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
|
|
||||||
|
|
||||||
LODEV=`losetup -f`
|
|
||||||
|
|
||||||
if [ "x$LODEV" = x ]
|
|
||||||
then
|
|
||||||
rm "${SNAP_DEST}-num"
|
|
||||||
rm $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
|
|
||||||
dbdctl destroy $NUM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
losetup $LODEV $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
|
|
||||||
|
|
||||||
echo "0 $DEV_SIZE snapshot /dev/datto$NUM $LODEV N 8" | dmsetup create "wsnap-$SNAP_ID"
|
|
||||||
|
|
||||||
echo "Mounting /dev/mapper/wsnap-$SNAP_ID..."
|
|
||||||
|
|
||||||
mkdir -p $SNAP_DEST
|
|
||||||
|
|
||||||
MOUNTOPTS="ro"
|
|
||||||
|
|
||||||
if [ $TYPE = "xfs" ]
|
|
||||||
then
|
|
||||||
MOUNTOPTS="ro,nouuid"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! mount -o $MOUNTOPTS /dev/mapper/wsnap-$SNAP_ID $SNAP_DEST
|
|
||||||
then
|
|
||||||
echo "Mounting filesystem failed"
|
|
||||||
rmdir "$SNAP_DEST"
|
|
||||||
rm "${SNAP_DEST}-num"
|
|
||||||
dmsetup remove "wsnap-$SNAP_ID"
|
|
||||||
losetup -d $LODEV
|
|
||||||
rm $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
|
|
||||||
dbdctl destroy $NUM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "SNAPSHOT=$SNAP_DEST"
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,74 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
SNAP_ORIG_PATH="$5"
|
|
||||||
|
|
||||||
remove_overlay() {
|
|
||||||
if test -e "$SNAP_ORIG_PATH/.overlay_$SNAP_ID"
|
|
||||||
then
|
|
||||||
LODEV=`losetup -j "$SNAP_ORIG_PATH/.overlay_$SNAP_ID" | cut -d':' -f1`
|
|
||||||
if [ "x$LODEV" != x ]
|
|
||||||
then
|
|
||||||
losetup -d $LODEV
|
|
||||||
fi
|
|
||||||
rm "$SNAP_ORIG_PATH/.overlay_$SNAP_ID"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! test -e $SNAP_MOUNTPOINT
|
|
||||||
then
|
|
||||||
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
|
|
||||||
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
|
|
||||||
[ ! -e "${SNAP_MOUNTPOINT}-num" ] || rm "${SNAP_MOUNTPOINT}-num"
|
|
||||||
remove_overlay
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "Snapshot is not mounted. Already removed"
|
|
||||||
rm "${SNAP_MOUNTPOINT}-num"
|
|
||||||
rmdir "${SNAP_MOUNTPOINT}"
|
|
||||||
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
|
|
||||||
remove_overlay
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
NUM=`cat "${SNAP_MOUNTPOINT}-num"` || true
|
|
||||||
|
|
||||||
if [ "x$NUM" = "x" ]
|
|
||||||
then
|
|
||||||
echo "Cannot get device number from ${SNAP_MOUNTPOINT}-num"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Unmounting /dev/datto$NUM at /mnt/urbackup_snaps/$SNAP_ID..."
|
|
||||||
|
|
||||||
if ! umount /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
then
|
|
||||||
lsof | grep /mnt/urbackup_snaps/$SNAP_ID || true
|
|
||||||
echo "Unmounting /mnt/urbackup_snaps/$SNAP_ID failed. Retrying in 10s..."
|
|
||||||
sleep 10
|
|
||||||
umount /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
rm "${SNAP_MOUNTPOINT}-num"
|
|
||||||
rmdir "${SNAP_MOUNTPOINT}"
|
|
||||||
|
|
||||||
echo "Removing devicemapper snapshot..."
|
|
||||||
|
|
||||||
dmsetup remove "wsnap-$SNAP_ID"
|
|
||||||
|
|
||||||
remove_overlay
|
|
||||||
|
|
||||||
echo "Destroying dattobd snapshot /dev/datto$NUM..."
|
|
||||||
|
|
||||||
dbdctl destroy $NUM
|
|
||||||
|
|
||||||
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,10 +0,0 @@
|
|||||||
"/var/log/urbackupclient.log" {
|
|
||||||
weekly
|
|
||||||
rotate 12
|
|
||||||
missingok
|
|
||||||
create 640 root root
|
|
||||||
compress
|
|
||||||
postrotate
|
|
||||||
test -e /var/run/urbackupclient.pid && kill -HUP `cat /var/run/urbackupclient.pid` || /bin/systemctl kill -s HUP urbackup-client.service
|
|
||||||
endscript
|
|
||||||
}
|
|
@ -1,67 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
#For 20GB
|
|
||||||
#SNAP_SIZE="-L20G"
|
|
||||||
SNAP_SIZE="-l50%FREE"
|
|
||||||
|
|
||||||
mkdir -p /mnt/urbackup_snaps
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
|
|
||||||
if lsblk -r --output "NAME,MOUNTPOINT" --paths > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" --paths | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
|
|
||||||
else
|
|
||||||
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
|
|
||||||
VOLNAME="/dev/mapper/$VOLNAME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TYPE=`df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2`
|
|
||||||
|
|
||||||
if [ "x$VOLNAME" = x ]
|
|
||||||
then
|
|
||||||
echo "Could not find LVM volume for mountpoint ${SNAP_MOUNTPOINT}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
export LVM_SUPPRESS_FD_WARNINGS=1
|
|
||||||
|
|
||||||
VGNAME=`lvdisplay "$VOLNAME" | grep "VG Name" | tr -s " " | cut -d" " -f4`
|
|
||||||
if [ "x$VGNAME" = x ]
|
|
||||||
then
|
|
||||||
echo "Could not find LVM volume group of volume $VOLNAME"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x$SNAP_ID" = x ]
|
|
||||||
then
|
|
||||||
echo "No snapshot id specified"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
lvcreate $SNAP_SIZE -s -n urbackup_snap_$SNAP_ID "$VOLNAME"
|
|
||||||
|
|
||||||
mkdir -p /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
|
|
||||||
MOUNTOPTS="ro"
|
|
||||||
|
|
||||||
if [ $TYPE = "xfs" ]
|
|
||||||
then
|
|
||||||
MOUNTOPTS="ro,nouuid"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! mount -o $MOUNTOPTS /dev/$VGNAME/urbackup_snap_$SNAP_ID /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
then
|
|
||||||
echo "Mounting filesystem failed"
|
|
||||||
rmdir /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
lvremove -f /dev/$VGNAME/urbackup_snap_$SNAP_ID
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "SNAPSHOT=/mnt/urbackup_snaps/$SNAP_ID"
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,56 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SNAP_ID=$1
|
|
||||||
SNAP_MOUNTPOINT="$2"
|
|
||||||
|
|
||||||
if ! test -e $SNAP_MOUNTPOINT
|
|
||||||
then
|
|
||||||
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! df -T -P | egrep "${SNAP_MOUNTPOINT}\$" > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "Snapshot is not mounted. Already removed"
|
|
||||||
rmdir "${SNAP_MOUNTPOINT}"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if lsblk -r --output "NAME,MOUNTPOINT" --paths > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" --paths | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
|
|
||||||
else
|
|
||||||
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
|
|
||||||
VOLNAME="/dev/mapper/$VOLNAME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x$VOLNAME" = x ]
|
|
||||||
then
|
|
||||||
echo "Could not find LVM volume for mountpoint ${SNAP_MOUNTPOINT}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e "$VOLNAME" ]
|
|
||||||
then
|
|
||||||
echo "LVM volume for mountpoint ${SNAP_MOUNTPOINT} does not exist"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Unmounting $VOLNAME at /mnt/urbackup_snaps/$SNAP_ID..."
|
|
||||||
|
|
||||||
if ! umount /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
then
|
|
||||||
lsof | grep /mnt/urbackup_snaps/$SNAP_ID || true
|
|
||||||
sleep 10
|
|
||||||
umount /mnt/urbackup_snaps/$SNAP_ID
|
|
||||||
fi
|
|
||||||
|
|
||||||
rmdir "${SNAP_MOUNTPOINT}"
|
|
||||||
|
|
||||||
echo "Destroying LVM snapshot $VOLNAME..."
|
|
||||||
|
|
||||||
export LVM_SUPPRESS_FD_WARNINGS=1
|
|
||||||
|
|
||||||
lvremove -f "$VOLNAME"
|
|
@ -1,9 +0,0 @@
|
|||||||
# Uncomment one of the following, if supported
|
|
||||||
#create_filesystem_snapshot="/usr/share/urbackup/scripts/btrfs_create_filesystem_snapshot"
|
|
||||||
#create_filesystem_snapshot="/usr/share/urbackup/scripts/dattobd_create_filesystem_snapshot"
|
|
||||||
#create_filesystem_snapshot="/usr/share/urbackup/scripts/lvm_create_filesystem_snapshot"
|
|
||||||
|
|
||||||
# Uncomment one of the following, if supported
|
|
||||||
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/btrfs_remove_filesystem_snapshot"
|
|
||||||
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/dattobd_remove_filesystem_snapshot"
|
|
||||||
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/lvm_remove_filesystem_snapshot"
|
|
@ -1,43 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-12 00:37:35.211787887 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-12 00:40:03.010786666 +0000
|
|
||||||
@@ -1058,7 +1058,7 @@
|
|
||||||
$(urbackupclientctl_headers) $(client_headers) \
|
|
||||||
$(tclap_headers) $(urbackupclient_headers) $(cryptopp_headers)
|
|
||||||
EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
-EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup client/version.txt client/data/urbackup_ecdsa409k1.pub linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
|
|
||||||
+EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
|
|
||||||
all: config.h
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
|
||||||
|
|
||||||
@@ -5365,19 +5365,19 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
|
|
||||||
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
|
|
||||||
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
|
|
||||||
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
|
|
||||||
@@ -5396,8 +5396,6 @@
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,10 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/defaults_client.orig 2016-12-14 10:18:18.865859774 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/defaults_client 2016-12-14 10:18:36.959859657 +0000
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
# Defaults for urbackup_client initscript
|
|
||||||
# sourced by /etc/init.d/urbackupclientbackend
|
|
||||||
-# installed at /etc/default/urbackupclient by the maintainer scripts
|
|
||||||
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
|
|
||||||
|
|
||||||
#
|
|
||||||
# This is parsed as a key=value file
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-23 20:39:12.807716385 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-23 20:44:10.582699173 +0000
|
|
||||||
@@ -5397,7 +5397,7 @@
|
|
||||||
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-11 06:35:06.995980034 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-11 06:35:38.645979659 +0000
|
|
||||||
@@ -935,7 +935,7 @@
|
|
||||||
fileservplugin/PipeFileBase.cpp \
|
|
||||||
fileservplugin/FileMetadataPipe.cpp \
|
|
||||||
fileservplugin/PipeFileTar.cpp
|
|
||||||
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
|
|
||||||
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
|
|
||||||
$(am__append_2)
|
|
@ -1,48 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-14 15:35:45.671736277 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-14 15:38:55.013735050 +0000
|
|
||||||
@@ -1057,7 +1057,7 @@
|
|
||||||
$(fileservplugin_headers) $(fsimageplugin_headers) \
|
|
||||||
$(urbackupclientctl_headers) $(client_headers) \
|
|
||||||
$(tclap_headers) $(urbackupclient_headers) $(cryptopp_headers)
|
|
||||||
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
|
|
||||||
all: config.h
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
|
||||||
@@ -5405,36 +5405,6 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-14 09:48:27.808871387 +0000
|
|
||||||
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-14 10:07:13.401864089 +0000
|
|
||||||
@@ -5358,6 +5358,8 @@
|
|
||||||
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
|
|
||||||
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
|
|
||||||
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
|
|
||||||
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
@ -1,42 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:42:44.392727732 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:44:56.947725972 +0000
|
|
||||||
@@ -1085,7 +1085,6 @@
|
|
||||||
urbackupclient/backup_scripts/mariadbpostbackup \
|
|
||||||
urbackupclient/backup_scripts/setup-mariadbbackup \
|
|
||||||
urbackupclient/backup_scripts/restore-mariadbbackup \
|
|
||||||
- client/version.txt client/data/urbackup_ecdsa409k1.pub \
|
|
||||||
linux_snapshot/btrfs_create_filesystem_snapshot \
|
|
||||||
linux_snapshot/btrfs_remove_filesystem_snapshot \
|
|
||||||
linux_snapshot/dattobd_create_filesystem_snapshot \
|
|
||||||
@@ -5417,19 +5416,19 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
|
|
||||||
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
|
|
||||||
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
|
|
||||||
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
|
|
||||||
@@ -5455,8 +5454,6 @@
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,10 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/defaults_client.orig 2016-12-17 06:48:17.231723312 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/defaults_client 2016-12-17 06:48:29.152723153 +0000
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
# Defaults for urbackup_client initscript
|
|
||||||
# sourced by /etc/init.d/urbackupclientbackend
|
|
||||||
-# installed at /etc/default/urbackupclient by the maintainer scripts
|
|
||||||
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
|
|
||||||
|
|
||||||
#
|
|
||||||
# This is parsed as a key=value file
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-23 20:48:23.003684583 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-23 20:48:52.383682885 +0000
|
|
||||||
@@ -5455,7 +5455,7 @@
|
|
||||||
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-15 19:25:03.000000000 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:33:28.964735108 +0000
|
|
||||||
@@ -939,7 +939,7 @@
|
|
||||||
fileservplugin/PipeFileBase.cpp \
|
|
||||||
fileservplugin/FileMetadataPipe.cpp \
|
|
||||||
fileservplugin/PipeFileTar.cpp
|
|
||||||
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
|
|
||||||
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
|
|
||||||
$(am__append_2)
|
|
@ -1,48 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:51:08.068721043 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:53:14.737719361 +0000
|
|
||||||
@@ -1063,7 +1063,7 @@
|
|
||||||
$(fsimageplugin_headers) $(urbackupclientctl_headers) \
|
|
||||||
$(client_headers) $(tclap_headers) $(urbackupclient_headers) \
|
|
||||||
$(cryptopp_headers)
|
|
||||||
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client \
|
|
||||||
init.d_client_rh defaults_client $(EXTRA_DIST_GUI) \
|
|
||||||
tclap/COPYING tclap/AUTHORS \
|
|
||||||
@@ -5461,36 +5461,6 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:53:14.737719361 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:55:50.504717292 +0000
|
|
||||||
@@ -5409,6 +5409,8 @@
|
|
||||||
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
|
|
||||||
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
|
|
||||||
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
|
|
||||||
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
@ -1,42 +0,0 @@
|
|||||||
--- urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:42:44.392727732 +0000
|
|
||||||
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:44:56.947725972 +0000
|
|
||||||
@@ -1085,7 +1085,6 @@
|
|
||||||
urbackupclient/backup_scripts/mariadbpostbackup \
|
|
||||||
urbackupclient/backup_scripts/setup-mariadbbackup \
|
|
||||||
urbackupclient/backup_scripts/restore-mariadbbackup \
|
|
||||||
- client/version.txt client/data/urbackup_ecdsa409k1.pub \
|
|
||||||
linux_snapshot/btrfs_create_filesystem_snapshot \
|
|
||||||
linux_snapshot/btrfs_remove_filesystem_snapshot \
|
|
||||||
linux_snapshot/dattobd_create_filesystem_snapshot \
|
|
||||||
@@ -5417,19 +5416,19 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
|
|
||||||
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
|
|
||||||
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
|
|
||||||
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
|
|
||||||
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
|
|
||||||
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
|
|
||||||
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
|
|
||||||
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
|
|
||||||
@@ -5455,8 +5454,6 @@
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
|
|
||||||
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,10 +0,0 @@
|
|||||||
--- urbackup-client-2.2.6.0/defaults_client 2018-04-08 15:59:19.000000000 -0400
|
|
||||||
+++ urbackup-client-2.2.6.0/defaults_client 2018-07-20 21:30:17.052888478 -0400
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
# Defaults for urbackup_client initscript
|
|
||||||
# sourced by /etc/init.d/urbackupclientbackend
|
|
||||||
-# installed at /etc/default/urbackupclient by the maintainer scripts
|
|
||||||
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
|
|
||||||
|
|
||||||
#
|
|
||||||
# This is parsed as a key=value file
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.2.6.0/Makefile.in.orig 2018-07-20 22:23:43.137711139 -0400
|
|
||||||
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 22:25:11.716706240 -0400
|
|
||||||
@@ -5550,7 +5550,7 @@
|
|
||||||
|
|
||||||
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
|
|
||||||
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
|
|
||||||
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
|
|
||||||
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.2.6.0/Makefile.in 2018-05-17 08:55:38.000000000 -0400
|
|
||||||
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:33:01.871879361 -0400
|
|
||||||
@@ -959,7 +959,7 @@
|
|
||||||
fileservplugin/PipeFileBase.cpp \
|
|
||||||
fileservplugin/FileMetadataPipe.cpp \
|
|
||||||
fileservplugin/PipeFileTar.cpp fileservplugin/PipeFileExt.cpp
|
|
||||||
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
|
|
||||||
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
|
|
||||||
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
|
|
||||||
$(am__append_2)
|
|
@ -1,48 +0,0 @@
|
|||||||
--- urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:35:41.607870526 -0400
|
|
||||||
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:38:50.260860091 -0400
|
|
||||||
@@ -1086,7 +1086,7 @@
|
|
||||||
$(fsimageplugin_headers) $(urbackupclientctl_headers) \
|
|
||||||
$(client_headers) $(tclap_headers) $(urbackupclient_headers) \
|
|
||||||
$(cryptopp_headers)
|
|
||||||
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
|
|
||||||
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client \
|
|
||||||
init.d_client_rh defaults_client $(EXTRA_DIST_GUI) \
|
|
||||||
tclap/COPYING tclap/AUTHORS \
|
|
||||||
@@ -5559,36 +5559,6 @@
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
|
|
||||||
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
@ -1,11 +0,0 @@
|
|||||||
--- urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:38:50.260860091 -0400
|
|
||||||
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:39:47.353856933 -0400
|
|
||||||
@@ -5505,6 +5505,8 @@
|
|
||||||
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
|
|
||||||
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
|
|
||||||
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
|
|
||||||
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
|
|
||||||
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
|
|
||||||
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
|
|
@ -1,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=UrBackup backup client backend
|
|
||||||
After=syslog.target network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=root
|
|
||||||
ExecStart=/usr/sbin/urbackupclientbackend -c /etc/conf.d/urbackupclient -w /var/run/urbackupclient.pid -d
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/sbin/openrc-run
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
URBACKUPCLIENT_CONFIG="/etc/conf.d/urbackupclient"
|
|
||||||
URBACKUPCLIENT_PIDFILE="/var/run/urbackupclient.pid"
|
|
||||||
|
|
||||||
command="/usr/sbin/urbackupclientbackend"
|
|
||||||
command_args="-c ${URBACKUPCLIENT_CONFIG} -w ${URBACKUPCLIENT_PIDFILE} -d"
|
|
||||||
pidfile="${URBACKUPCLIENT_PIDFILE}"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
use logger net urbackupsrv
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>gentoo@slated.org</email>
|
|
||||||
<name>Homer</name>
|
|
||||||
</maintainer>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="github">urbackup-backend</remote-id>
|
|
||||||
</upstream>
|
|
||||||
<longdescription>UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image (currently on Windows only) and file backups accomplishes both data safety and a fast restoration time.
|
|
||||||
|
|
||||||
Backups are made while the system is running without interrupting current processes.
|
|
||||||
|
|
||||||
UrBackup also continuously watches folders you want backed up in order to quickly find differences to previous backups. Because of that, incremental file backups are really fast.
|
|
||||||
|
|
||||||
Your files can be restored through the web interface, via app-backup/urbackup-client or the file manager, while the backups of drive volumes can be restored with a bootable CD or USB-Stick (bare metal restore).</longdescription>
|
|
||||||
<use>
|
|
||||||
<flag name="X">Enables building the wxWidgets GUI</flag>
|
|
||||||
</use>
|
|
||||||
</pkgmetadata>
|
|
@ -1,72 +0,0 @@
|
|||||||
# copyright © 2016 slated.org
|
|
||||||
# Distributed under the terms of the AGPLv3+
|
|
||||||
# $Header: $
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit wxwidgets l10n systemd
|
|
||||||
|
|
||||||
PLOCALES="cs da de es fa fr it nl pl pt_BR ru sk uk zh_CN zh_TW"
|
|
||||||
PLOCALE_BACKUP="en"
|
|
||||||
|
|
||||||
DESCRIPTION="Client for UrBackup server"
|
|
||||||
HOMEPAGE="https://www.urbackup.org"
|
|
||||||
SRC_URI="https://hndl.urbackup.org/Client/${PV}/${P}.tar.gz"
|
|
||||||
S=${WORKDIR}/${P}.0
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
LICENSE="AGPL-3"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="hardened X zlib linguas_cs linguas_da linguas_de linguas_es linguas_fa linguas_fr linguas_it linguas_nl linguas_pl linguas_pt_BR linguas_ru linguas_sk linguas_uk linguas_zh_CN linguas_zh_TW"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/sqlite
|
|
||||||
X? ( x11-libs/wxGTK:2.9 )
|
|
||||||
>=dev-libs/crypto++-5.1
|
|
||||||
zlib? ( sys-libs/zlib )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${P}-gcc-fortify.patch"
|
|
||||||
"${FILESDIR}/${P}-autoupdate.patch"
|
|
||||||
"${FILESDIR}/${P}-manpage.patch"
|
|
||||||
"${FILESDIR}/${P}-conf.patch"
|
|
||||||
"${FILESDIR}/${P}-locale.patch"
|
|
||||||
"${FILESDIR}/${P}-etc-perms.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf \
|
|
||||||
$(use_enable hardened fortify) \
|
|
||||||
$(use_enable !X headless) \
|
|
||||||
$(use_with zlib) \
|
|
||||||
--disable-clientupdate
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dodir "${EPREFIX}"/usr/share/man/man1
|
|
||||||
install_locale_docs() {
|
|
||||||
local locale_doc="client/data/lang/$1/urbackup.mo"
|
|
||||||
insinto "${EPREFIX}"/usr/share/locale/$1/LC_MESSAGES
|
|
||||||
[[ ! -e ${locale_doc} ]] || doins ${locale_doc}
|
|
||||||
}
|
|
||||||
emake DESTDIR="${D}" install
|
|
||||||
if use X
|
|
||||||
then l10n_for_each_locale_do install_locale_docs
|
|
||||||
fi
|
|
||||||
insinto "${EPREFIX}"/etc/logrotate.d
|
|
||||||
newins "${FILESDIR}"/logrotate_urbackupclient urbackupclient
|
|
||||||
newconfd defaults_client urbackupclient
|
|
||||||
doinitd "${FILESDIR}"/urbackupclient
|
|
||||||
systemd_dounit "${FILESDIR}"/urbackup-client.service
|
|
||||||
dodir "${EPREFIX}"/etc/urbackup
|
|
||||||
insinto "${EPREFIX}"/etc/urbackup
|
|
||||||
doins "${FILESDIR}"/snapshot.cfg
|
|
||||||
insinto "${EPREFIX}"/usr/share/urbackup/scripts
|
|
||||||
insopts -m0700
|
|
||||||
doins "${FILESDIR}"/btrfs_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/btrfs_remove_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/dattobd_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/dattobd_remove_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/lvm_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/lvm_remove_filesystem_snapshot
|
|
||||||
}
|
|
@ -1,72 +0,0 @@
|
|||||||
# copyright © 2016 slated.org
|
|
||||||
# Distributed under the terms of the AGPLv3+
|
|
||||||
# $Header: $
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit wxwidgets l10n systemd
|
|
||||||
|
|
||||||
PLOCALES="cs da de es fa fr it nl pl pt_BR ru sk uk zh_CN zh_TW"
|
|
||||||
PLOCALE_BACKUP="en"
|
|
||||||
|
|
||||||
DESCRIPTION="Client for UrBackup server"
|
|
||||||
HOMEPAGE="https://www.urbackup.org"
|
|
||||||
SRC_URI="https://hndl.urbackup.org/Client/${PV}/${P}.tar.gz"
|
|
||||||
S="${WORKDIR}"/"${P}.0"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
LICENSE="AGPL-3"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="hardened X zlib linguas_cs linguas_da linguas_de linguas_es linguas_fa linguas_fr linguas_it linguas_nl linguas_pl linguas_pt_BR linguas_ru linguas_sk linguas_uk linguas_zh_CN linguas_zh_TW"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
dev-db/sqlite
|
|
||||||
X? ( x11-libs/wxGTK:3.0[X] )
|
|
||||||
>=dev-libs/crypto++-5.1
|
|
||||||
zlib? ( sys-libs/zlib )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${P}-gcc-fortify.patch"
|
|
||||||
"${FILESDIR}/${P}-autoupdate.patch"
|
|
||||||
"${FILESDIR}/${P}-manpage.patch"
|
|
||||||
"${FILESDIR}/${P}-conf.patch"
|
|
||||||
"${FILESDIR}/${P}-locale.patch"
|
|
||||||
"${FILESDIR}/${P}-etc-perms.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf \
|
|
||||||
$(use_enable hardened fortify) \
|
|
||||||
$(use_enable !X headless) \
|
|
||||||
$(use_with zlib) \
|
|
||||||
--disable-clientupdate
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dodir "${EPREFIX}"/usr/share/man/man1
|
|
||||||
install_locale_docs() {
|
|
||||||
local locale_doc="client/data/lang/$1/urbackup.mo"
|
|
||||||
insinto "${EPREFIX}"/usr/share/locale/$1/LC_MESSAGES
|
|
||||||
[[ ! -e ${locale_doc} ]] || doins ${locale_doc}
|
|
||||||
}
|
|
||||||
emake DESTDIR="${D}" install
|
|
||||||
if use X
|
|
||||||
then l10n_for_each_locale_do install_locale_docs
|
|
||||||
fi
|
|
||||||
insinto "${EPREFIX}"/etc/logrotate.d
|
|
||||||
newins "${FILESDIR}"/logrotate_urbackupclient urbackupclient
|
|
||||||
newconfd defaults_client urbackupclient
|
|
||||||
doinitd "${FILESDIR}"/urbackupclient
|
|
||||||
systemd_dounit "${FILESDIR}"/urbackup-client.service
|
|
||||||
dodir "${EPREFIX}"/etc/urbackup
|
|
||||||
insinto "${EPREFIX}"/etc/urbackup
|
|
||||||
doins "${FILESDIR}"/snapshot.cfg
|
|
||||||
insinto "${EPREFIX}"/usr/share/urbackup/scripts
|
|
||||||
insopts -m0700
|
|
||||||
doins "${FILESDIR}"/btrfs_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/btrfs_remove_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/dattobd_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/dattobd_remove_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/lvm_create_filesystem_snapshot
|
|
||||||
doins "${FILESDIR}"/lvm_remove_filesystem_snapshot
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
DIST 1.4.2.tar.gz 86606 SHA256 6259e8206ef996c8f925a536dda09d955bd6308d1e9b3b5b6bcdfd00e8ac8f41 SHA512 276f5f39520d6d900049976a757e46916a734876b4bc7de995e39d99c626ba801acdbbea333dfeeeeb59a21b7e820a0a1f4a6aa14ec63acbff56a8e6a067f649 WHIRLPOOL ec8a331424ace013a856e4d8fd983bce2ed04863ecfa6c23d3300e59fde46e13aa4be176b0a4baa5b680cc2e4f678da40d9139d85c71d07bb3144d47ec7e1b33
|
|
||||||
DIST 1.4.3.tar.gz 87026 SHA256 7bb027d34b98ae2c5aa5066177ba7a1542c786e16e52d47dc3c29bb326b1cd4a SHA512 52a571f4e3e92e5f49a1b59d98e0f37a72bfbcb0c0f0b8f88f63a889b18d96673b0e333949a369aab124760be5ec59287d766159c9066749a8371cdb818ecb58 WHIRLPOOL 74ac1bc00970afc7f7507c9156c8e8e2d798b6384ba1702825c4d327a4529263737134c664bbb07e882e82e22a964d4ce5e4acdebfd64d6ecded91f584340b62
|
|
||||||
DIST 1.4.4.tar.gz 87118 SHA256 efccccd2a045da91576c591968374379da1dc4ca2e3dec4d3f8f12628fa29a85 SHA512 96f0984be71e521b2a188448bb2801996701be6e96b1dac4672cabc9f6bcb6631fdb8d03f5dde4bbdbb0050d9bd1409d468fcba15f93730d69e6c55271aba575 WHIRLPOOL 4c41f300177b3a140f833f999e5b86e8c3386e81c02a7a94f2a0dd418ba2027adb2c7906d5d2a59fba12b47c5ea3190727ef63b1e8fd12eef8bc9fbe2ca426a6
|
|
||||||
EBUILD zbackup-1.4.2.ebuild 523 SHA256 f959d0a13723b9f2cce27f6b3e37623dabb8c7ddc538c34a40afc103a0b83200 SHA512 9456ff2ccaf4b653b5bcf6033d9335f2cac4d0677d3ad4d60e3acc2ac60c5ffcdd6a3c84e58a73d663a698555bd93c4e684a02d0aef6c353aab1ae6f2cf33e28 WHIRLPOOL 90437a4a5b370f43836e571c835342b8afcc7cd38e34027d402c3128f51b9406d4a8d725117ab6e281a7ee21b73ed0fb4f09cdb0a004e4a81e31128a26d230a2
|
|
||||||
EBUILD zbackup-1.4.3.ebuild 523 SHA256 f959d0a13723b9f2cce27f6b3e37623dabb8c7ddc538c34a40afc103a0b83200 SHA512 9456ff2ccaf4b653b5bcf6033d9335f2cac4d0677d3ad4d60e3acc2ac60c5ffcdd6a3c84e58a73d663a698555bd93c4e684a02d0aef6c353aab1ae6f2cf33e28 WHIRLPOOL 90437a4a5b370f43836e571c835342b8afcc7cd38e34027d402c3128f51b9406d4a8d725117ab6e281a7ee21b73ed0fb4f09cdb0a004e4a81e31128a26d230a2
|
|
||||||
EBUILD zbackup-1.4.4.ebuild 570 SHA256 4148ce84e3c3bc8c9dcb507ca4f88106342291ea1fc34ffd46faf628cadc4719 SHA512 f64086dda4e9d3163c8dbcc4843177f0ff2b945bd808fc45d6ef5f0983619ab93fe2372b3c0c49ac6d022cf6d5cb497624ed8861f49d3c9ff8da7c830d35b77e WHIRLPOOL ff53eb2cae91e7f4e51f511563db4c091328a868af6265042c81a645afe94a70d5f33cb729b495ce252a8b94e47900fbe7eec46bea526a1f69a69aa4f1541f0e
|
|
@ -1,30 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit cmake-utils
|
|
||||||
|
|
||||||
DESCRIPTION="A deduplicating compressed archiver"
|
|
||||||
HOMEPAGE="http://zbackup.org/"
|
|
||||||
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
dev-util/cmake
|
|
||||||
dev-libs/protobuf
|
|
||||||
sys-libs/zlib
|
|
||||||
dev-libs/openssl
|
|
||||||
app-arch/xz-utils
|
|
||||||
dev-libs/lzo
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
src_prepare() {
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit cmake-utils
|
|
||||||
|
|
||||||
DESCRIPTION="A deduplicating compressed archiver"
|
|
||||||
HOMEPAGE="http://zbackup.org/"
|
|
||||||
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
dev-util/cmake
|
|
||||||
dev-libs/protobuf
|
|
||||||
sys-libs/zlib
|
|
||||||
dev-libs/openssl
|
|
||||||
app-arch/xz-utils
|
|
||||||
dev-libs/lzo
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
src_prepare() {
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
inherit cmake-utils
|
|
||||||
|
|
||||||
DESCRIPTION="A deduplicating compressed archiver"
|
|
||||||
HOMEPAGE="http://zbackup.org/"
|
|
||||||
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
dev-util/cmake
|
|
||||||
dev-libs/protobuf
|
|
||||||
sys-libs/zlib
|
|
||||||
dev-libs/openssl
|
|
||||||
app-arch/xz-utils
|
|
||||||
dev-libs/lzo
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
src_prepare() {
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
src_configure() {
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,4 +1 @@
|
|||||||
DIST zeal-1.0.0.tar.gz 1062839 SHA256 b9d3fd3b74b0d04fe06b6449088ddea197b0c3147130585956b6b929234fbd1e SHA512 7b9c1f1c154043324946ef9dc6495d81cc7cac53099e3f1ec686fdb6c2b9fb7a3de479d78a1fc3b22308951a57658b762d05f5b30669bc23390007c81dd4ce0f WHIRLPOOL b9cd5a80c17507513543ffd1589852c6b7bac0fed4fddf69bfbb6d606f61e1116b32140347e14fb8dee5c1e78c5386c6780ed58ad0935028e55e02c991c0743f
|
DIST zeal-1.0.0.tar.gz 1062839 SHA256 b9d3fd3b74b0d04fe06b6449088ddea197b0c3147130585956b6b929234fbd1e SHA512 7b9c1f1c154043324946ef9dc6495d81cc7cac53099e3f1ec686fdb6c2b9fb7a3de479d78a1fc3b22308951a57658b762d05f5b30669bc23390007c81dd4ce0f WHIRLPOOL b9cd5a80c17507513543ffd1589852c6b7bac0fed4fddf69bfbb6d606f61e1116b32140347e14fb8dee5c1e78c5386c6780ed58ad0935028e55e02c991c0743f
|
||||||
EBUILD zeal-1.0.0.ebuild 985 SHA256 2f6b37507d35e84b1161075e456690ed8650b4876af0b1ad00b9affeb63cf8db SHA512 67fb2578047d71d1b19e22c91b62767dd2aa4ac35a4bc3a9844c7cf54e3cdb435ac9e532d370e765e271d170e188b54001fb2111f847bb6d0c5c40d8cef2c5fd WHIRLPOOL 26aceb22613e1bd2290984a4eda888188745d262c2aa5f95542e69104b47b6988c8ef4ae4d34f02bfb1f6356939e908db0349a3a54c7b66e935b844085da9d99
|
|
||||||
EBUILD zeal-9999.ebuild 848 SHA256 da86a08002728afd70046695534cc9a87fb246e30e9122c0f1245e6aaac90093 SHA512 e74493a2d3ca228e75c24347c641f9a54095c65d58dd061558590c8654fc2dda3219e71e4505f93271faed8354617d34ebe364c0196fe42ee977d0767296a4d3 WHIRLPOOL c95382b2e1c86b6d07b030d4702055d9367d2a378b22fcb0dc2d90264304eac80004a782db4cc6fbc2b234000ab1211ffb90195ef97f0628ca712828a867e869
|
|
||||||
MISC metadata.xml 786 SHA256 47fad2b2fa5bbbe474b4da2368cdc3f42369972ec1a14036ab5510e57108acf2 SHA512 0e612af8bf4069d5d8e624d49147ec824ebc79b99195b18fdec11ced77d94fa97d30b056b0e7ba26522f953e599c0b71b67216e2d940e66cfb2458c04da24429 WHIRLPOOL df1de8ea39f3e8a5b9860b526d761e30fbf503c073c7f9ad05c0f5655e3dfd86636c1817a5087701f5420e5b6f1e192ead8e445aa8a4cf6570eee9cf54e68023
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
AUX desmume-0.9.11-fix-pointer-conversion-warning.diff 370 BLAKE2B 8e019cf69a13b3669166f1ee04d26e6538a392e494d356b2eeabd43ac69fe9489ddeda146054ab5d1f821b3a52719d58ae493ca870f46461eacaab26ffb9eba1 SHA512 f7d5f4ac4d96f244aa6ee81a90f64e754aceebf075f1c4ff84dde2d1d2beaf617631569c5aa9a8afb40ae4499067e2233ba00a4b9d606a9608915714766d0bff
|
|
||||||
AUX desmume-0.9.11-gcc6.patch 1991 BLAKE2B ffb0a58f7317aa50fe17c4abe1ba6c9bbf9cb937736479214b86187c32af8c1659aa719eccce184a5f0fa1b31f15634276fb676bf97ec64feba603fa89ee289f SHA512 e9249a613f1bf3b6d72dcce47cbc39daeadb1b4f7b9be2748b537ec3389a61f46b5f15f5a10d55bc4b1dbd69dd87526b5ce79e58b539cf432679da9bc803e0cd
|
|
||||||
AUX desmume-0.9.11-pointer-int-comparison-fix.patch 455 BLAKE2B 81a55e333c031d7c28c067455c47477b961c8ab7fa5e5f037b9b967bd8d2324903da136978f3ff9bd60cdc2953cb9f06a5797be8c0db2598fdd5a1248c9c54d9 SHA512 c0db6f17841cc2a9c4b7547a0087124f6489681436156ce8a20e212fb949ffb049119a1d5c3b01006163f16916351925b746fa7378657b8599e299ed0465a6f9
|
|
||||||
DIST desmume-0.9.11.tar.gz 5359305 BLAKE2B 31764dcb2d0facf32eddd5c66f40e2268f8afd5c2562bf246b93bb60c191d7888587991732014dee11417016515a4367bda9acf79f699703754aa904dcaeeb01 SHA512 160cb6ec0ede04ad1fbddde2b7b04aa41fa464c8338d7eb9d7536196a82d8d716889b40be4fb831a22e3fe8532b947f7f0b41311601b6842be2516dff7cae46c
|
|
||||||
EBUILD desmume-0.9.11-r1.ebuild 807 BLAKE2B 9b12e16127ccd22cd8a38d67b2d03d222740075c59210c850dad549bc84948438642060b15d6dc7f3290dc4c5cf6f686a91addd9b24c769c1bb48b90e1b9537e SHA512 51cf26731c490043971166dac9cb662dfbb1730b6a6a2675ea03a4bc58db54c5c47b881a413875ebea17f0b85723e8aa1835431f689d2c85c169baedbc9db9c3
|
|
||||||
MISC metadata.xml 407 BLAKE2B a64ba166734f13f34fec0ca394d4d51bc70f2cb9539981e068e544f3139584ee3ec2da89a02ef9203008cb73213213adb148c978311ae36d95749e553d10605b SHA512 89d3a5b608525bfa1f05503017619520d82c663241668c3d5fa5602e625cbfe02564b04d7bac0e97bbe53ff8eba08a6895fb0e8cd519d0d88efd29a0ca64ac4b
|
|
@ -1,35 +0,0 @@
|
|||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
DESCRIPTION="Nintendo DS emulator"
|
|
||||||
HOMEPAGE="http://desmume.org/"
|
|
||||||
SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
RDEPEND=">=x11-libs/gtk+-2.8.0:2
|
|
||||||
gnome-base/libglade
|
|
||||||
x11-libs/gtkglext
|
|
||||||
virtual/opengl
|
|
||||||
sys-libs/zlib
|
|
||||||
dev-libs/zziplib
|
|
||||||
media-libs/libsdl[joystick,opengl,video]
|
|
||||||
x11-libs/agg"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
virtual/pkgconfig
|
|
||||||
dev-util/intltool"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS ChangeLog README README.LIN )
|
|
||||||
|
|
||||||
# fix QA compiler warning, see
|
|
||||||
# https://sourceforge.net/p/desmume/patches/172/
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${P}-fix-pointer-conversion-warning.diff"
|
|
||||||
"${FILESDIR}/${P}-gcc6.patch"
|
|
||||||
"${FILESDIR}/${P}-pointer-int-comparison-fix.patch"
|
|
||||||
)
|
|
@ -1,11 +0,0 @@
|
|||||||
--- a/src/path.h 2015-02-14 16:05:26.000000000 +0100
|
|
||||||
+++ b/src/path.h 2016-07-11 12:09:59.591987169 +0200
|
|
||||||
@@ -375,7 +375,7 @@
|
|
||||||
else if (strchr(strftimeArgs, *p))
|
|
||||||
{
|
|
||||||
char tmp[MAX_PATH];
|
|
||||||
- char format[] = { '%', *p, NULL };
|
|
||||||
+ char format[] = { '%', *p, '\0' };
|
|
||||||
strftime(tmp, MAX_PATH, format, time_struct);
|
|
||||||
file.append(tmp);
|
|
||||||
}
|
|
@ -1,47 +0,0 @@
|
|||||||
--- a/src/wifi.cpp
|
|
||||||
+++ b/src/wifi.cpp
|
|
||||||
@@ -314,9 +314,9 @@
|
|
||||||
|
|
||||||
#if (WIFI_LOGGING_LEVEL >= 1)
|
|
||||||
#if WIFI_LOG_USE_LOGC
|
|
||||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
|
|
||||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
|
|
||||||
#else
|
|
||||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
|
|
||||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define WIFI_LOG(level, ...) {}
|
|
||||||
--- a/src/MMU_timing.h
|
|
||||||
+++ b/src/MMU_timing.h
|
|
||||||
@@ -155,8 +155,8 @@
|
|
||||||
enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
|
|
||||||
enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
|
|
||||||
enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
|
|
||||||
- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
|
|
||||||
- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
|
|
||||||
+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
|
|
||||||
+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
|
|
||||||
enum { WORDSIZE = sizeof(u32) };
|
|
||||||
enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
|
|
||||||
enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
|
|
||||||
--- a/src/ctrlssdl.cpp
|
|
||||||
+++ b/src/ctrlssdl.cpp
|
|
||||||
@@ -200,7 +200,7 @@
|
|
||||||
break;
|
|
||||||
case SDL_JOYAXISMOTION:
|
|
||||||
/* Dead zone of 50% */
|
|
||||||
- if( (abs(event.jaxis.value) >> 14) != 0 )
|
|
||||||
+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
|
|
||||||
{
|
|
||||||
key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
|
|
||||||
if (event.jaxis.value > 0) {
|
|
||||||
@@ -370,7 +370,7 @@
|
|
||||||
Note: button constants have a 1bit offset. */
|
|
||||||
case SDL_JOYAXISMOTION:
|
|
||||||
key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
|
|
||||||
- if( (abs(event->jaxis.value) >> 14) != 0 )
|
|
||||||
+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
|
|
||||||
{
|
|
||||||
if (event->jaxis.value > 0)
|
|
||||||
key_code |= 1;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -Naur a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
|
|
||||||
--- a/src/utils/libfat/directory.cpp 2015-02-14 10:05:26.000000000 -0500
|
|
||||||
+++ b/src/utils/libfat/directory.cpp 2018-03-02 13:15:20.349936425 -0500
|
|
||||||
@@ -139,7 +139,7 @@
|
|
||||||
int bytes;
|
|
||||||
size_t count = 0;
|
|
||||||
|
|
||||||
- while (count < len-1 && src != '\0') {
|
|
||||||
+ while (count < len-1 && src) {
|
|
||||||
bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
|
|
||||||
if (bytes > 0) {
|
|
||||||
*dst = (ucs2_t)tempChar;
|
|
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<email>hanno@gentoo.org</email>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>games@gentoo.org</email>
|
|
||||||
<name>Gentoo Games Project</name>
|
|
||||||
</maintainer>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="sourceforge">desmume</remote-id>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
@ -1,5 +0,0 @@
|
|||||||
AUX higan-104-QA.patch 2537 SHA256 2530058253ab7f01ed97fe61bec1d02ae8f4dc64bd1ad05944271740ac1786fe SHA512 5c9304191a745cf7a541df3ffd221573aa03e1ff03d457eed9f76b464360bcee0dac767e79ca2e355020f68cae7a7ad42e22f12814623c110311e0392e6b714c WHIRLPOOL b59173f34d4b1571494c4a3b5e2ff761d26df11478d9676f74e3f3b9f13d076a8d8edb5da39fcc6e72cb144a2c69f7e70d8d58db20fc2dee4e3e4b48954f185d
|
|
||||||
AUX higan-wrapper 124 SHA256 a2640df99434ad820ead4015e071681b05ddd10a44eaed9571d7a28bba4b8def SHA512 af3163d06f3bc14b14ec38cf84d11cc706eb6359727743eea35670b4f1ac120af40102ee5409695eba00ead70fcf964073c24d2f47d6824776391927ebbf3f45 WHIRLPOOL 74e4a9232668dc61c300a49fbe05d654313a5867946497e1e95c46d9d4140634d0eb74eef8969fad5ab38b0d635069698a7e635058809ed2bf8792e89401c81d
|
|
||||||
DIST higan_v104-source.7z 922223 SHA256 342400ba494b37a95210f11e6d941566e50a772095586406c14d75293f525544 SHA512 acb53f53ab79558d65eaba2aacbf42eaeae7fd4d831a8ef7c96c8b77c1bd67571ea480764f9cb8b376d5c02f380d4a835b44decbd4cece420329c14ef86909f8 WHIRLPOOL 9c6ae66a739f6a5e1f31786efd54fc445cfc78aa92556a99007cc503fda160ec778d26a8b881494f0fe263d05d8555774ca72a83799f2f12438fea6c163e0529
|
|
||||||
EBUILD higan-104.ebuild 3273 SHA256 041c9c6d66d457d205030e1a4cd06b3ed51597a4e5fbf8a21cca4801c7e303db SHA512 dcdafc60eda2e8e360d94e48f306abcaf4b9cf19fccd5016f9a3cb7343edda97e55124c8c022d15f7c86c21f78c7cdda4a6a3672bfc8f8a24385e46996c4b827 WHIRLPOOL fc2e39264f15918ac3e42e43daa9969e458539d6c66dd114fcaac4be99be1306748eb9884de157ad53b17e08186f56f0c65d1cac8ec8e88959f2026a6e91da72
|
|
||||||
MISC metadata.xml 636 SHA256 c566d8169f12d492471e65ca8a9bdd7a255b71d27cbafbd883f97eef53d998dd SHA512 a835b9cb4fa482754349eaddee279a6bca17cbc070806c0a59c923502159375bbfb481964faae23bbee8379fdbe7e9f0e070cbc783e3c2e62ddd2d88f511170b WHIRLPOOL 667f7810cd3fb187c024604c697338c3524bc170673120a28a6fce7eb74c1d156bf86bd237c618e90d3b8582a9d17ef20749bd89433965ad76c7cb6a3b37201f
|
|
@ -1,70 +0,0 @@
|
|||||||
diff -Naur a/higan/GNUmakefile b/higan/GNUmakefile
|
|
||||||
--- a/higan/GNUmakefile 2017-08-11 06:03:07.000000000 -0400
|
|
||||||
+++ b/higan/GNUmakefile 2017-09-21 15:45:07.561964734 -0400
|
|
||||||
@@ -19,7 +19,7 @@
|
|
||||||
else ifeq ($(platform),macosx)
|
|
||||||
flags += -march=native
|
|
||||||
else ifneq ($(filter $(platform),linux bsd),)
|
|
||||||
- flags += -march=native -fopenmp
|
|
||||||
+ flags += -fopenmp
|
|
||||||
link += -fopenmp
|
|
||||||
link += -Wl,-export-dynamic
|
|
||||||
link += -lX11 -lXext
|
|
||||||
@@ -30,9 +30,9 @@
|
|
||||||
compile = \
|
|
||||||
$(strip \
|
|
||||||
$(if $(filter %.c,$<), \
|
|
||||||
- $(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
|
|
||||||
+ $(compiler) $(cflags) $(flags) $(CFLAGS) $1 -c $< -o $@, \
|
|
||||||
$(if $(filter %.cpp,$<), \
|
|
||||||
- $(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
|
|
||||||
+ $(compiler) $(cppflags) $(flags) $(CXXFLAGS) $1 -c $< -o $@ \
|
|
||||||
) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
diff -Naur a/higan/target-tomoko/GNUmakefile b/higan/target-tomoko/GNUmakefile
|
|
||||||
--- a/higan/target-tomoko/GNUmakefile 2017-07-28 03:41:22.000000000 -0400
|
|
||||||
+++ b/higan/target-tomoko/GNUmakefile 2017-09-21 15:46:18.861960790 -0400
|
|
||||||
@@ -48,10 +48,10 @@
|
|
||||||
objects := $(patsubst %,obj/%.o,$(objects))
|
|
||||||
|
|
||||||
obj/ruby.o: ../ruby/ruby.cpp $(call rwildcard,../ruby/)
|
|
||||||
- $(compiler) $(rubyflags) -c $< -o $@
|
|
||||||
+ $(compiler) $(rubyflags) $(CXXFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
obj/hiro.o: ../hiro/hiro.cpp $(call rwildcard,../hiro/)
|
|
||||||
- $(compiler) $(hiroflags) -c $< -o $@
|
|
||||||
+ $(compiler) $(hiroflags) $(CXXFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/)
|
|
||||||
obj/ui-program.o: $(ui)/program/program.cpp $(call rwildcard,$(ui)/)
|
|
||||||
@@ -67,7 +67,7 @@
|
|
||||||
|
|
||||||
# targets
|
|
||||||
build: $(objects)
|
|
||||||
- $(strip $(compiler) -o out/$(name) $(objects) $(link))
|
|
||||||
+ $(strip $(CXX) $(CXXFLAGS) -o out/$(name) $(objects) $(link))
|
|
||||||
ifeq ($(platform),macosx)
|
|
||||||
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
|
|
||||||
mkdir -p out/$(name).app/Contents/MacOS/
|
|
||||||
diff -Naur a/icarus/GNUmakefile b/icarus/GNUmakefile
|
|
||||||
--- a/icarus/GNUmakefile 2017-07-30 03:32:34.000000000 -0400
|
|
||||||
+++ b/icarus/GNUmakefile 2017-09-21 15:48:41.750952887 -0400
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
include ../hiro/GNUmakefile
|
|
||||||
|
|
||||||
name := icarus
|
|
||||||
-flags += -I..
|
|
||||||
+flags += -I.. $(CXXFLAGS)
|
|
||||||
link +=
|
|
||||||
|
|
||||||
ifeq ($(platform),windows)
|
|
||||||
@@ -15,7 +15,7 @@
|
|
||||||
objects += $(if $(call streq,$(platform),windows),obj/resource.o)
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
- $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
|
|
||||||
+ $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink) $(LDFLAGS))
|
|
||||||
ifeq ($(platform),macosx)
|
|
||||||
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
|
|
||||||
mkdir -p out/$(name).app/Contents/MacOS/
|
|
@ -1,7 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
[ -e $HOME/.config/ ] || mkdir $HOME/.config/
|
|
||||||
|
|
||||||
cp -ru "%GAMES_DATADIR%/higan" $HOME/.config/
|
|
||||||
|
|
||||||
exec ${0}.bin "$@"
|
|
@ -1,148 +0,0 @@
|
|||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
|
|
||||||
inherit eutils gnome2-utils toolchain-funcs qmake-utils games
|
|
||||||
|
|
||||||
MY_P=${PN}_v${PV}-source
|
|
||||||
|
|
||||||
DESCRIPTION="A Nintendo multi-system emulator formerly known as bsnes"
|
|
||||||
HOMEPAGE="http://byuu.org/higan/ https://code.google.com/p/higan/"
|
|
||||||
SRC_URI="http://download.byuu.org/${MY_P}.7z"
|
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="ao +alsa +icarus openal opengl oss pulseaudio qt4 +sdl udev xv"
|
|
||||||
REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
|
|
||||||
|| ( xv opengl sdl )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
icarus? ( x11-libs/gtksourceview:2.0
|
|
||||||
x11-libs/gtk+:2
|
|
||||||
x11-libs/pango
|
|
||||||
dev-libs/atk
|
|
||||||
x11-libs/cairo
|
|
||||||
x11-libs/gdk-pixbuf
|
|
||||||
dev-libs/glib:2
|
|
||||||
media-libs/fontconfig
|
|
||||||
media-libs/freetype
|
|
||||||
)
|
|
||||||
ao? ( media-libs/libao )
|
|
||||||
openal? ( media-libs/openal )
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
|
||||||
xv? ( x11-libs/libXv )
|
|
||||||
opengl? ( virtual/opengl )
|
|
||||||
sdl? ( media-libs/libsdl[X,joystick,video] )
|
|
||||||
udev? ( virtual/udev )
|
|
||||||
!qt4? ( x11-libs/gtk+:2 )
|
|
||||||
qt4? ( dev-qt/qtcore:4
|
|
||||||
>=dev-qt/qtgui-4.5:4 )"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
app-arch/p7zip
|
|
||||||
virtual/pkgconfig"
|
|
||||||
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
disable_module() {
|
|
||||||
sed -i \
|
|
||||||
-e "s|$1\b||" \
|
|
||||||
"${S}"/higan/target-tomoko/GNUmakefile || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
epatch "${FILESDIR}"/${P}-QA.patch
|
|
||||||
|
|
||||||
sed -i \
|
|
||||||
-e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
|
|
||||||
nall/dl.hpp || die "fixing libdir failed!"
|
|
||||||
|
|
||||||
# audio modules
|
|
||||||
use ao || disable_module audio.ao
|
|
||||||
use openal || disable_module audio.openal
|
|
||||||
use pulseaudio || { disable_module audio.pulseaudio
|
|
||||||
disable_module audio.pulseaudiosimple ;}
|
|
||||||
use oss || disable_module audio.oss
|
|
||||||
use alsa || disable_module audio.alsa
|
|
||||||
|
|
||||||
# video modules
|
|
||||||
use opengl || disable_module video.glx
|
|
||||||
use xv || disable_module video.xv
|
|
||||||
use sdl || disable_module video.sdl
|
|
||||||
|
|
||||||
# input modules
|
|
||||||
use sdl || disable_module input.sdl
|
|
||||||
use udev || disable_module input.udev
|
|
||||||
|
|
||||||
# regenerate .moc if needed
|
|
||||||
if use qt4; then
|
|
||||||
cd hiro/qt || die
|
|
||||||
"$(qt4_get_bindir)"/moc -i -I. -o qt.moc qt.hpp || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
local mytoolkit
|
|
||||||
|
|
||||||
if use qt4; then
|
|
||||||
mytoolkit="qt"
|
|
||||||
else
|
|
||||||
mytoolkit="gtk"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use icarus; then
|
|
||||||
cd "${S}/icarus" || die
|
|
||||||
emake \
|
|
||||||
platform="linux" \
|
|
||||||
compiler="$(tc-getCXX)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/higan" || die
|
|
||||||
emake \
|
|
||||||
platform="linux" \
|
|
||||||
compiler="$(tc-getCXX)" \
|
|
||||||
hiro="${mytoolkit}"
|
|
||||||
|
|
||||||
sed \
|
|
||||||
-e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
|
|
||||||
< "${FILESDIR}"/${PN}-wrapper \
|
|
||||||
> out/${PN}-wrapper || die "generating wrapper failed!"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
if use icarus; then
|
|
||||||
newgamesbin "${S}"/icarus/out/icarus icarus
|
|
||||||
fi
|
|
||||||
newgamesbin "${S}"/higan/out/${PN} ${PN}.bin
|
|
||||||
newgamesbin "${S}"/higan/out/${PN}-wrapper ${PN}
|
|
||||||
make_desktop_entry "${PN}" "${PN}"
|
|
||||||
|
|
||||||
# copy home directory stuff to a global location
|
|
||||||
insinto "${GAMES_DATADIR}"/${PN}
|
|
||||||
|
|
||||||
doicon -s 512 higan/data/${PN}.png
|
|
||||||
|
|
||||||
prepgamesdirs
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
games_pkg_preinst
|
|
||||||
gnome2_icon_savelist
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
#elog "optional dependencies:"
|
|
||||||
#elog " dev-games/higan-ananke (extra rom load options)"
|
|
||||||
#elog " games-util/higan-purify (Rom purifier)"
|
|
||||||
|
|
||||||
games_pkg_postinst
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
gnome2_icon_cache_update
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>games@gentoo.org</email>
|
|
||||||
<name>Gentoo Games Project</name>
|
|
||||||
</maintainer>
|
|
||||||
<use>
|
|
||||||
<flag name="icarus">Build icarus library manager</flag>
|
|
||||||
<flag name="profile_accuracy">
|
|
||||||
Compile a binary optimized for accuracy</flag>
|
|
||||||
<flag name="profile_balanced">
|
|
||||||
Compile a binary with balanced optimization</flag>
|
|
||||||
<flag name="profile_performance">
|
|
||||||
Compile a binary optimized for performance</flag>
|
|
||||||
<flag name="udev">Enable udev based input</flag>
|
|
||||||
</use>
|
|
||||||
</pkgmetadata>
|
|
@ -1,4 +0,0 @@
|
|||||||
DIST obs-studio-0.13.4.tar.gz 3252774 SHA256 5a6a1188ef2899ef5c71aadeb2ce7e2a17a63dfa6351b4d1295e4f4b61e7ef9c SHA512 71e3b2b82a60c84907130e0ca41f50f4fa28b0fb9fcede18b2afd476cc15e410b5ef745239a39148b5d66b452da39176deadc9c225f1a9f190bd01cdd861ea87 WHIRLPOOL 05f0e0b511c8284dc4f9c170ebe89101f71b1814ca4a46e8d785990787a08f4279ad4994ec3a27f0880ec8c80a63168aef95ff8b55356ee41f6f4030b8ac1f9a
|
|
||||||
EBUILD obs-studio-0.13.4.ebuild 2003 SHA256 670c9d59952893471163e1a218ae63a25e12d32db5e8baa4d1f01ac3940462a5 SHA512 4236321567cf58817392145db5c0824deafa26814ac4379b55de9182d4ee185a44433ebe039625b0b0a41878318656841e75a65555d0556be2cbfd9375f93a3b WHIRLPOOL b3746ae7cc403c7b056c58e62d72b4053279f309f7f5d213fdc10601b22dbb9dcfe21d6d85f6797fe7eaef5396b7a360050a187a1a858088f76c13f82010403a
|
|
||||||
EBUILD obs-studio-9999.ebuild 2003 SHA256 670c9d59952893471163e1a218ae63a25e12d32db5e8baa4d1f01ac3940462a5 SHA512 4236321567cf58817392145db5c0824deafa26814ac4379b55de9182d4ee185a44433ebe039625b0b0a41878318656841e75a65555d0556be2cbfd9375f93a3b WHIRLPOOL b3746ae7cc403c7b056c58e62d72b4053279f309f7f5d213fdc10601b22dbb9dcfe21d6d85f6797fe7eaef5396b7a360050a187a1a858088f76c13f82010403a
|
|
||||||
MISC metadata.xml 719 SHA256 1bf6ba991590655e783e9f8affd4df9637b4a40557bcaa06db92b896e1399bd4 SHA512 0f97af62c49dbddff3443138335d345603c7ff6a5f5781b995c5143a69276ffa3aa4417ccc1a5308d9989424315b141f20d0d2acea8a5cec2c5d4658e526ca05 WHIRLPOOL 1d4e9a302d7497d734fd993c52679e631f7ab0566905b685e67b7616105980fe06c780dcdedd5dbf92b86a422939e31663fcc0e95ae1e7062d1ecc58df29946d
|
|
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer>
|
|
||||||
<email>saintdev@gmail.com</email>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription>A rewrite of what was formerly known as "Open Broadcaster
|
|
||||||
Software", software originally designed for recording and streaming live
|
|
||||||
video content, efficiently.</longdescription>
|
|
||||||
<use>
|
|
||||||
<flag name="fdk">Use the <pkg>media-sound/fdk-aac</pkg>library for AAC encoding.</flag>
|
|
||||||
<flag name="imagemagick">Use ImageMagick in place of ffmpeg for loading images.</flag>
|
|
||||||
<flag name="pulseaudio">Enable audio capture from the PulseAudio sound server.</flag>
|
|
||||||
<flag name="qt5">Enable the QT 5 GUI</flag>
|
|
||||||
</use>
|
|
||||||
</pkgmetadata>
|
|
@ -1 +0,0 @@
|
|||||||
obs-studio-9999.ebuild
|
|
@ -1,85 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: $
|
|
||||||
EAPI=6
|
|
||||||
inherit eutils cmake-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
KEYWORDS=""
|
|
||||||
EGIT_REPO_URI="https://github.com/jp9000/obs-studio.git
|
|
||||||
git://github.com/jp9000/obs-studio.git"
|
|
||||||
else
|
|
||||||
KEYWORDS="~x86 ~amd64"
|
|
||||||
SRC_URI="https://github.com/jp9000/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
RESTRICT="primaryuri"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION="Software for recording and streaming live video content"
|
|
||||||
HOMEPAGE="https://obsproject.com"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="fdk imagemagick jack +pulseaudio +qt5 truetype v4l"
|
|
||||||
|
|
||||||
DEPEND=">=dev-libs/jansson-2.5
|
|
||||||
media-libs/x264
|
|
||||||
media-video/ffmpeg
|
|
||||||
x11-libs/libXinerama
|
|
||||||
x11-libs/libXcomposite
|
|
||||||
x11-libs/libXrandr
|
|
||||||
fdk? ( media-libs/fdk-aac )
|
|
||||||
imagemagick? ( media-gfx/imagemagick )
|
|
||||||
jack? ( virtual/jack )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
|
||||||
qt5? (
|
|
||||||
dev-qt/qtcore:5
|
|
||||||
dev-qt/qtdeclarative:5
|
|
||||||
dev-qt/qtgui:5
|
|
||||||
dev-qt/qtmultimedia:5
|
|
||||||
dev-qt/qtnetwork:5
|
|
||||||
dev-qt/qtquickcontrols:5
|
|
||||||
dev-qt/qtsql:5
|
|
||||||
dev-qt/qttest:5
|
|
||||||
dev-qt/qtwidgets:5
|
|
||||||
dev-qt/qtx11extras:5
|
|
||||||
)
|
|
||||||
truetype? (
|
|
||||||
media-libs/fontconfig
|
|
||||||
media-libs/freetype
|
|
||||||
)
|
|
||||||
v4l? ( media-libs/libv4l )"
|
|
||||||
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
CMAKE_REMOVE_MODULES_LIST=(FindFreetype)
|
|
||||||
|
|
||||||
cmake-utils_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local libdir=$(get_libdir)
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DDISABLE_LIBFDK="$(usex fdk no yes)"
|
|
||||||
-DLIBOBS_PREFER_IMAGEMAGICK="$(usex imagemagick)"
|
|
||||||
-DDISABLE_JACK="$(usex jack no yes)"
|
|
||||||
-DDISABLE_PULSEAUDIO="$(usex pulseaudio no yes)"
|
|
||||||
-DENABLE_UI="$(usex qt5)"
|
|
||||||
-DDISABLE_UI="$(usex qt5 no yes)"
|
|
||||||
-DDISABLE_FREETYPE="$(usex truetype no yes)"
|
|
||||||
-DDISABLE_V4L2="$(usex v4l no yes)"
|
|
||||||
-DUNIX_STRUCTURE=1
|
|
||||||
-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
|
|
||||||
)
|
|
||||||
|
|
||||||
cmake-utils_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if ! use pulseaudio && ! use jack; then
|
|
||||||
ewarn "It is suggested you enable either JACK or PulseAudio,"
|
|
||||||
ewarn "or you will not have audio capture capability."
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
DIST 0.3.6.tar.gz 1640585 SHA256 146f5bf26bd56d68ff4506c9756526fbf60c8737cb023759250c357935b309b5 SHA512 54e07050ae58c2d59327b13be6613754ada26891c157c6e9d121db2658508245c8f9a6c92921fdc125cdf82611099abf9c89d64ee093a6592fc81fb9c96cb09d WHIRLPOOL 715be064a3e8fd86d299a22d92f812f45fa522652bb5ab21c1492a05dd384b2cc385ce62ab9cb74fe8e9ee7168c29ccc3ef5eae3d2412189ed2c8e1c891bd998
|
|
||||||
EBUILD simplescreenrecorder-0.3.6.ebuild 3025 SHA256 705dce7fd5b9c2a488f8adb220d1bfe2b7050ff5f4628635a81ba14edc2555d6 SHA512 69d022d9f8963c000bfb279f601213a369a2da8654a710f92ed9ff9a1e06a21e168b5b079c6e4ee9e7129ab72f809d764e4d763b8ebaed8e77c9ddd8a0fc85ec WHIRLPOOL 25047ab1a51505ee81de02b5e1866cf326da1d87d188f6e6b5be31b46050b6bf50225d52f68971bd42cf3c7cab0934fd7590764a54124e2d8b14d47f4e6c3dd2
|
|
@ -1,112 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI="5"
|
|
||||||
|
|
||||||
inherit flag-o-matic multilib-minimal
|
|
||||||
|
|
||||||
if [[ ${PV} = 9999 ]]; then
|
|
||||||
inherit git-2
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="A Simple Screen Recorder"
|
|
||||||
HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
|
|
||||||
LICENSE="GPL-3"
|
|
||||||
PKGNAME="ssr"
|
|
||||||
S=${WORKDIR}/${PKGNAME}-${PV}
|
|
||||||
if [[ ${PV} = 9999 ]]; then
|
|
||||||
EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
|
|
||||||
https://github.com/MaartenBaert/${PKGNAME}.git"
|
|
||||||
EGIT_BOOTSTRAP=""
|
|
||||||
KEYWORDS=""
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="+asm debug jack mp3 pulseaudio theora vorbis vpx x264 +qt4 qt5"
|
|
||||||
REQUIRED_USE="^^ ( qt4 qt5 )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
qt4? (
|
|
||||||
dev-qt/qtcore:4
|
|
||||||
dev-qt/qtgui:4
|
|
||||||
)
|
|
||||||
qt5? (
|
|
||||||
dev-qt/qtcore:5
|
|
||||||
dev-qt/qtgui:5
|
|
||||||
dev-qt/qtwidgets:5
|
|
||||||
dev-qt/qtx11extras:5
|
|
||||||
)
|
|
||||||
virtual/glu[${MULTILIB_USEDEP}]
|
|
||||||
media-libs/alsa-lib:*
|
|
||||||
media-libs/mesa[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
|
||||||
jack? ( media-sound/jack-audio-connection-kit )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
|
||||||
|| (
|
|
||||||
media-video/ffmpeg:0[vorbis?,vpx?,x264?,mp3?,theora?]
|
|
||||||
media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
|
|
||||||
)
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
if [[ ${PV} == "9999" ]]; then
|
|
||||||
elog
|
|
||||||
elog "This ebuild merges the latest revision available from upstream's"
|
|
||||||
elog "git repository, and might fail to compile or work properly once"
|
|
||||||
elog "merged."
|
|
||||||
elog
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${ABI} == amd64 ]]; then
|
|
||||||
elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
|
|
||||||
elog "When added 32bit GLInject libraries are also included. This is"
|
|
||||||
elog "required if you want to use OpenGL recording on 32bit applications."
|
|
||||||
elog
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
|
|
||||||
ewarn
|
|
||||||
ewarn "media-libs/x264 is currently built with 10bit useflag."
|
|
||||||
ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
|
|
||||||
ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
|
|
||||||
ewarn "record videos with x264."
|
|
||||||
ewarn
|
|
||||||
fi
|
|
||||||
|
|
||||||
# QT requires -fPIC. Compile fails otherwise.
|
|
||||||
# Recently removed from the default compile options upstream
|
|
||||||
# https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
|
|
||||||
append-flags -fPIC
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--enable-dependency-tracking
|
|
||||||
$(multilib_native_use_enable debug assert)
|
|
||||||
$(multilib_native_use_with pulseaudio)
|
|
||||||
$(multilib_native_use_with jack)
|
|
||||||
$(multilib_native_use_with qt5)
|
|
||||||
$(use_enable asm x86-asm)
|
|
||||||
)
|
|
||||||
|
|
||||||
# libav doesn't have AVFrame::channels
|
|
||||||
# https://github.com/MaartenBaert/ssr/issues/195#issuecomment-45646159
|
|
||||||
if has_version media-video/libav; then
|
|
||||||
myconf+=( --disable-ffmpeg-versions )
|
|
||||||
fi
|
|
||||||
|
|
||||||
multilib_is_native_abi || myconf+=( --disable-ssrprogram )
|
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" \
|
|
||||||
econf \
|
|
||||||
${myconf[@]}
|
|
||||||
|
|
||||||
}
|
|
@ -1,2 +1 @@
|
|||||||
AUX tg-no-channel-beep.patch 468 BLAKE2B bfa5aaa9c2ff24647c251bbf48abb5bb6b302ab84790fab6b2062abbff07984e832a11ddaa67c24c6f5a61e8a7f5f873fd97e79b3a2f91ba994b45fae97d8218 SHA512 4f982fa3900529d42e7d05c4b7b653e9ba8881dcaaeb087aa0a90607bff8691abfaedae6fd020e05549f1b619fa9ffa78b61ec910542e2a8e51c889a8242532f
|
EBUILD telegram-cli-9999.ebuild 926 SHA256 d9c959af30c77afe8e6b1cee162e5362edfb9da6980b53ef71c3cae5f621bf05 SHA512 eeef9e1d2d7cd0b600be0d44de39e9c38207d5fb8f675e7ba239c1e907ab5df6e198a5810e6bb08445c7c2a98cc50bf78554f52b4c7c0534f111bfa3256b8186 WHIRLPOOL 700a6fd9930074ec36dfb3f4b248a43e6d7c0ab0f97ed6b56343e79fb15a087d99eb52ad67a818e67cbb1a848d65cc395f60b319f3fda60c87c10e9f4e132838
|
||||||
EBUILD telegram-cli-9999.ebuild 1081 BLAKE2B 6b1a0e997b9e1b6d3ac8e1aebfc8e18ec9ae0394ed51639a2bab74b0604eaab61f10aab2aab04c1643edd7d7106fb71f8453ef72d66b7c2d4931ee95197a9e41 SHA512 e1be9b5934b3a5eb65f49185ac3cac76111a9f1cdb651eb7efcf2987b758f0e5ec2f5e49112f402830d80669d78a6ea2a3565ebc70fa9b7d2318841dca5ebf71
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/interface.c b/interface.c
|
|
||||||
index f78619a..bea40de 100644
|
|
||||||
--- a/interface.c
|
|
||||||
+++ b/interface.c
|
|
||||||
@@ -3061,7 +3061,7 @@ void print_message_gw (struct tgl_state *TLSR, struct tgl_message *M) {
|
|
||||||
if (tgl_get_peer_type (M->to_id) == TGL_PEER_ENCR_CHAT) {
|
|
||||||
write_secret_chat_file ();
|
|
||||||
}
|
|
||||||
- if (alert_sound) {
|
|
||||||
+ if (alert_sound && tgl_get_peer_type (M->to_id) != TGL_PEER_CHANNEL) {
|
|
||||||
play_sound ();
|
|
||||||
}
|
|
||||||
if (disable_output && !notify_ev) { return; }
|
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
EAPI=5
|
EAPI=5
|
||||||
|
|
||||||
EGIT_REPO_URI="https://gitea.austenwares.com/applications/tg"
|
EGIT_REPO_URI="https://github.com/vysheng/tg.git"
|
||||||
EGIT_BRANCH="master"
|
EGIT_BRANCH="master"
|
||||||
EGIT_HAS_SUBMODULES=1
|
EGIT_HAS_SUBMODULES=1
|
||||||
inherit eutils git-2
|
inherit git-2
|
||||||
IUSE="+lua +json +python"
|
IUSE="+lua +json +python"
|
||||||
DESCRIPTION="Command line interface client for Telegram"
|
DESCRIPTION="Command line interface client for Telegram"
|
||||||
HOMEPAGE="https://gitea.austenwares.com/applications/tg"
|
HOMEPAGE="https://github.com/vysheng/tg"
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~amd64 ~x86"
|
KEYWORDS="~amd64 ~x86"
|
||||||
@ -24,12 +24,6 @@ DEPEND="sys-libs/zlib
|
|||||||
json? ( dev-libs/jansson )
|
json? ( dev-libs/jansson )
|
||||||
python? ( dev-lang/python )"
|
python? ( dev-lang/python )"
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
einfo "Patching so channels don't beep"
|
|
||||||
epatch "${FILESDIR}/tg-no-channel-beep.patch"
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack() {
|
src_unpack() {
|
||||||
git-2_src_unpack
|
git-2_src_unpack
|
||||||
cd $EGIT_SOURCEDIR
|
cd $EGIT_SOURCEDIR
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
DIST nitroshare-0.3.3.tar.gz 152496 SHA256 fa9385f9fd829bd4f91f2b3507676a94ec7bf107cfd085985ecee33fb6c88d4f SHA512 edcdd2e6fa7addf38057d291d3683515bf61261bd71b4283c9f518f1c46a392a410c60fce897c703d69a453fd7713c8a7e71b68a48225b79aaf283124d53b18e WHIRLPOOL 6ec1ce09f693a7a118d8c96afe5361b65ebbc776d19ed7da2ec0df3b46be2eccd9e8751f4cfbb183c247943b358ae7f8e36669b7230c497ed1433e531c7b5e49
|
|
||||||
EBUILD nitroshare-0.3.3.ebuild 807 SHA256 5d24f4d14dae143ae49d9b046365c600df0875cef8219e57618daf3725eadea1 SHA512 c9c5982410655c5b141a5a662f8c94c1971e124fb3d5ce75638eb86e33c43e4e5c1d5266685e27a11c8b949b19b5ee337ed5b77dc8afc955fbb88040c9a7be22 WHIRLPOOL 4ab3fd4c64e6794c26d59d3a1539552669e7f7229fbebd3e87dd6025c2b364c1541af35a2e60d165266f41a7ad7e8b15a405746e0b2563fe04fcd6be11459af3
|
|
@ -1,39 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: $
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
CMAKE_MIN_VERSION="3.2.0"
|
|
||||||
|
|
||||||
inherit cmake-utils eutils
|
|
||||||
|
|
||||||
DESCRIPTION="Network File Transfer Application"
|
|
||||||
HOMEPAGE="http://nitroshare.net"
|
|
||||||
if [[ ${PV} == *9999* ]];then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/${PN}/${PN}-desktop"
|
|
||||||
KEYWORDS=""
|
|
||||||
else
|
|
||||||
inherit versionator
|
|
||||||
MY_BR=$(get_version_component_range 1-2)
|
|
||||||
SRC_URI="https://launchpad.net/nitroshare/${MY_BR}/${PV}/+download/${P}.tar.gz"
|
|
||||||
KEYWORDS="x86 amd64"
|
|
||||||
RESTRICT="mirror"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LICENSE="MIT"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="appindicator"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
>=dev-qt/qtcore-5.1:5
|
|
||||||
>=dev-qt/qtsvg-5.1:5
|
|
||||||
>=dev-qt/qtnetwork-5.1:5
|
|
||||||
x11-libs/libnotify"
|
|
||||||
|
|
||||||
RDEPEND="${DEPEND}
|
|
||||||
appindicator? (
|
|
||||||
x11-libs/gtk+:2
|
|
||||||
dev-libs/libappindicator:2
|
|
||||||
)"
|
|
@ -7,6 +7,6 @@
|
|||||||
<email>stonewareslord@gmail.com</email>
|
<email>stonewareslord@gmail.com</email>
|
||||||
<name>stonewareslord</name>
|
<name>stonewareslord</name>
|
||||||
</owner>
|
</owner>
|
||||||
<source branch="master" type="git">https://gitea.austenwares.com/stonewareslord/aw-overlay</source>
|
<source branch="master" type="git">https://austenwares.com/gogs/stonewareslord/aw-overlay</source>
|
||||||
</repo>
|
</repo>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
AUX orpie-1.5.1-nogsl.patch 1463 SHA256 ffb6c542dfc9cb8adfdd6a5a3a8b689cab5d510f780d8d799aa3f9dc289ca7ba SHA512 b3c3a5bf0d0e8f03ed6912d020a9f84dc1436a7048a7228895f88e169454535b18db299ae3ce224bdfb08f18c8fa9847aa52b4347e50eed53fe697c0b37dc460 WHIRLPOOL ac9ee7fe96a94659a6788f5071bc651ede58e2efd4869a271dd1a7975fe3b1a46d34eb909d06192ec3390af39bcef23c1cda087780f2124eecc517bbea84f118
|
|
||||||
AUX orpie-1.5.1-ocaml311.patch 5460 SHA256 d01d72de12c65cbabfacb4e9cf296d91d9382072b0334e250b0b67f2ae117f78 SHA512 220b8585953328681c7299d140d5aefb54576a82c7897e900ffd493ec0949dd5bf0f02515305e6ae25f76a8ad7f7d8e3d7ce7d231eee05efe3987638650024a2 WHIRLPOOL 3849bc3b4276479a4ae8c16f7b87cc53969ed97de447042662eb57cc1dec1e935b23e1f099ccb15a95dd975f2be5c9f0f499473737748e655577b04aa0c9f992
|
|
||||||
AUX orpie-1.5.1-orpierc.patch 357 SHA256 755643f6564f97742b9024985a1ad03b286b01350c0e0b3037c1ed9b57dec0ed SHA512 8579f8af07fbc43594eb9e7f0b22e9053fbb0d6f30bb0d849592f29edb4df7fae2535b163d7259eef1e6f99cbdfb5fcdbf715c59e24fbc7b7a7250e798e35485 WHIRLPOOL e477c76280172fd808e09180c2ea9d974c6cdb086c965d1d000136a33e6e8ad57a6efac3c90d11baf60f4a3cc9f8cbe5b37eb905b0b2a5c5dc6de55d6f2e17fb
|
|
||||||
AUX orpie-1.5.1-tinfo.patch 186 SHA256 53551ae51ac16d77c297f8b9f84f2ade39e2a19cda81b5910d16839f921d1d2e SHA512 efbab46a367dc10e58b2e635d3bce49b9743766c489c2fba20cfc783fd92256c8afc8502c6d1650466400fb32bbca791f1677745b5610a405d369fb7432d7937 WHIRLPOOL 732411d0cf4280df866d1a2e267fb86963791d69c6576323fa82ced7a3ef8498180a2314a030432aa77c972f069c8078a0a8b5d84d181b97d0e4c2f2506aab7b
|
|
||||||
DIST orpie-1.5.1.tar.gz 370851 SHA256 f68ee37a5351c1dd32a68edae253a22a913fc2124bace1f6cf19cc2d422100cd SHA512 026afcaf37016f07397ba19629a92c5bdffbbec6d25b5f96e9367274afbf7468a7d6626b4ae81d1c9b426dde3a2c66a97e9b48c54dfb3a8079f0d59906f0efb7 WHIRLPOOL 30ba5f026ffc1f704a08d6090eabe6d47f8dfe96ec49ba6a6a772dd85337a54fe7de2b382015e832fc0058e7449a1829fedc6fc87683a074d0cac82dad48150e
|
|
||||||
DIST orpie-1.5.2.tar.gz 379583 SHA256 de557fc7f608c6cb1f44a965d3ae07fc6baf2b02a0d7994b89d6a0e0d87d3d6d SHA512 5deed6d8e8e68ce5286f4d5183315b585adef38f205805ff6ccbbbf3983c97a468e370d0d44ebe2dff596de0ad9dba20401dbc0e4e9bc176bc93b118fd1cc11a WHIRLPOOL 390c681dbc72d9730cbf22551ffa951f77e7a3589bf10c244fd1c0a3bc2ad81107ff8f5ede196b6486f50ed8f106554a8db03b04979cd5a88da31de4c1aeb836
|
|
||||||
EBUILD orpie-1.5.1-r1.ebuild 807 SHA256 55214f58c0dcdd033a0b8debd21ba47eac951386f440591d6ea179788488a6f4 SHA512 cbd7f3c5da5d35430e0cf0c6d0a83c9bd9e6c5786c6d817ab85095348478a221e804f4253f87d2d85e356ade96ef6999913fda498682f510263fbe4dfe003cc1 WHIRLPOOL de43e7da943b5837f83465782d1ca2fe3978281dab17e409cf586832693987116479218c027e0a927a948b27a8b2b341de9b8c53d490c684ee830fb8b3e45e50
|
|
||||||
EBUILD orpie-1.5.1-r2.ebuild 822 SHA256 5fc76b8904429cb33ce6be6bdbae5347477832e2aa123bfe0496b00372417744 SHA512 f3eb6641a55718cfd8000f88c2d289bc9730b97e0208a37201d8fce3fe18b188c1047c55c5f164a1fe85100b5af0d89a5cf353cf1f8102e5025b59e06ece0dce WHIRLPOOL a8238ddf9c1730dbb6394931378bdcc656cffc0e3a11d6a32a9715e5cfe9a03709264dbc472993a6493af28b16b963480ae193927f6469ae3a512ca7a2406862
|
|
||||||
EBUILD orpie-1.5.1.ebuild 626 SHA256 6248f2ca4d86eb9aca30bd9d8cdc02482b7d3e94d74b40ad379bbc30b4ad0cdc SHA512 b1b26eb5cc9eef424bad97a1bac1f258f360357b43448caccfa7ae3f3c07be5943e7b662cf66bcdba9f4215054e18870e5d016fe8d43a29672d2e2ad94a6143f WHIRLPOOL 35dee92a5288cd2259dd41e68bf66f899a684570d1a680f5473c71bab75065970cfad1b3c9ac38d92ca79b8090c82a485b7b366b3fab68a46b15f0aeab052422
|
|
||||||
EBUILD orpie-1.5.2-r2.ebuild 962 SHA256 eed6898f516994c1b838202823a8a07e3ea02637b7eeb7e24707bf89985e10c1 SHA512 9f89530ad99858819d4b35a3c3c3be5fdc877c3a7f112996ae6d29a979cd704fc016e699f97adc2f3ef90a1e7e872e6ddce22006824ce0c25b09d9d8195b5ee3 WHIRLPOOL a64166b38ead51b1510340633653302a11d72647e7310f9656221cf8021d406404201c4d010cb0a906e63e52a19959d7c72be1a62ddb97f4160f74825e67c142
|
|
||||||
MISC metadata.xml 482 SHA256 1694b89d7cf6205c011f2e794a81c25ea347899e8c1001f83efde52a9f41680b SHA512 050fe93b668614c50b20ed1355b6c62f2ef2d263863c358f0c4ca303d35fccdc0d9c1879cde065355a097e9898cbdc540dd58544ae5c2a68fa08bf8ea082dd87 WHIRLPOOL b627095cd8db858c873c2d3281626d9f546906277271eb70e60898bb39643e4fd024a14efd7fc92067f5589ea76b0bd20ac4f9193640f683b5b2e4e47a8183f4
|
|
@ -1,30 +0,0 @@
|
|||||||
--- Makefile.in.orig 2010-06-03 21:02:14.000000000 +0100
|
|
||||||
+++ Makefile.in 2010-06-03 21:02:49.000000000 +0100
|
|
||||||
@@ -38,7 +38,7 @@
|
|
||||||
CURSES_LIB = @CURSES_LIB@
|
|
||||||
GSL_LIB = @GSL_LIB@
|
|
||||||
|
|
||||||
-INCLUDES = -I ./curses -I ./gsl -I ./units
|
|
||||||
+INCLUDES = -I ./curses -I /usr/lib/ocaml/gsl -I ./units
|
|
||||||
BFLAGS = -pp camlp4o -g $(INCLUDES) -thread
|
|
||||||
OFLAGS = -pp camlp4o $(INCLUDES) -thread
|
|
||||||
BLFLAGS = -custom -cclib '@LDFLAGS@ $(CURSES_LIB) $(GSL_LIB) -lm'
|
|
||||||
@@ -72,16 +72,8 @@
|
|
||||||
CURSES_BOBJS = $(CURSES_CMO) $(CURSES_COBJS)
|
|
||||||
CURSES_OOBJS = $(CURSES_CMX) $(CURSES_COBJS)
|
|
||||||
|
|
||||||
-GSL_CMO = gsl/gsl_error.cmo gsl/gsl_blas.cmo gsl/gsl_complex.cmo gsl/gsl_matrix.cmo gsl/gsl_matrix_complex.cmo \
|
|
||||||
- gsl/gsl_vector.cmo gsl/gsl_vector_complex.cmo gsl/gsl_vector_flat.cmo gsl/gsl_matrix_flat.cmo \
|
|
||||||
- gsl/gsl_vector_complex_flat.cmo gsl/gsl_matrix_complex_flat.cmo gsl/gsl_vectmat.cmo \
|
|
||||||
- gsl/gsl_permut.cmo gsl/gsl_linalg.cmo gsl/gsl_fun.cmo
|
|
||||||
-GSL_CMX = $(GSL_CMO:.cmo=.cmx)
|
|
||||||
-GSL_COBJS = gsl/mlgsl_error.o gsl/mlgsl_blas.o gsl/mlgsl_blas_complex.o gsl/mlgsl_complex.o \
|
|
||||||
- gsl/mlgsl_matrix_complex.o gsl/mlgsl_matrix_double.o gsl/mlgsl_vector_double.o gsl/mlgsl_permut.o \
|
|
||||||
- gsl/mlgsl_linalg.o gsl/mlgsl_linalg_complex.o gsl/mlgsl_fun.o gsl/mlgsl_math.o gsl/mlgsl_sf.o
|
|
||||||
-GSL_BOBJS = $(GSL_COBJS) $(GSL_CMO)
|
|
||||||
-GSL_OOBJS = $(GSL_COBJS) $(GSL_CMX)
|
|
||||||
+GSL_BOBJS = /usr/lib/ocaml/gsl/gsl.cma
|
|
||||||
+GSL_OOBJS = /usr/lib/ocaml/gsl/gsl.cmxa
|
|
||||||
|
|
||||||
UNITS_CMO = units/units.cmo
|
|
||||||
UNITS_CMX = $(UNITS_CMO:.cmo=.cmx)
|
|
@ -1,200 +0,0 @@
|
|||||||
diff -Naru orpie-1.5.1/Makefile.in orpie-1.5.1_1/Makefile.in
|
|
||||||
--- orpie-1.5.1/Makefile.in 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/Makefile.in 2010-05-12 11:44:33.000000000 -0400
|
|
||||||
@@ -257,10 +257,7 @@
|
|
||||||
units/%.cmo : units/%.ml
|
|
||||||
$(OCAMLC) -c $(UNITS_BFLAGS) $<
|
|
||||||
|
|
||||||
-units/%.o : units/%.ml
|
|
||||||
- $(OCAMLOPT) -c $(UNITS_OFLAGS) $<
|
|
||||||
-
|
|
||||||
-units/%.cmx : units/%.ml
|
|
||||||
+units/%.o units/%.cmx : units/%.ml
|
|
||||||
$(OCAMLOPT) -c $(UNITS_OFLAGS) $<
|
|
||||||
|
|
||||||
|
|
||||||
@@ -271,22 +268,15 @@
|
|
||||||
%.cmo : %.ml
|
|
||||||
$(OCAMLC) -c $(BFLAGS) $<
|
|
||||||
|
|
||||||
-%.o : %.ml
|
|
||||||
- $(OCAMLOPT) -c $(OFLAGS) $<
|
|
||||||
-
|
|
||||||
-%.cmx : %.ml
|
|
||||||
+%.o %.cmx : %.ml
|
|
||||||
$(OCAMLOPT) -c $(OFLAGS) $<
|
|
||||||
|
|
||||||
%.ml : %.mll
|
|
||||||
$(OCAMLLEX) $<
|
|
||||||
|
|
||||||
-%.ml : %.mly
|
|
||||||
+%.ml %.mli : %.mly
|
|
||||||
$(OCAMLYACC) -v $<
|
|
||||||
|
|
||||||
-%.mli : %.mly
|
|
||||||
- $(OCAMLYACC) -v $<
|
|
||||||
-
|
|
||||||
-
|
|
||||||
|
|
||||||
# Emacs tags
|
|
||||||
############
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_blas.ml orpie-1.5.1_1/gsl/gsl_blas.ml
|
|
||||||
--- orpie-1.5.1/gsl/gsl_blas.ml 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_blas.ml 2010-05-12 11:24:11.000000000 -0400
|
|
||||||
@@ -118,6 +118,7 @@
|
|
||||||
|
|
||||||
(** {3 Single precision} *)
|
|
||||||
|
|
||||||
+(*
|
|
||||||
open Gsl_vector.Single
|
|
||||||
open Gsl_matrix.Single
|
|
||||||
|
|
||||||
@@ -187,6 +188,7 @@
|
|
||||||
alpha:float -> a:matrix -> b:matrix -> unit
|
|
||||||
= "ml_gsl_blas_strsm_bc" "ml_gsl_blas_strsm"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
|
|
||||||
|
|
||||||
(** {3 Complex} *)
|
|
||||||
@@ -274,6 +276,7 @@
|
|
||||||
|
|
||||||
(** {3 Complex single precision} *)
|
|
||||||
|
|
||||||
+(*
|
|
||||||
open Gsl_vector_complex.Single
|
|
||||||
open Gsl_matrix_complex.Single
|
|
||||||
open Gsl_complex
|
|
||||||
@@ -354,3 +357,4 @@
|
|
||||||
a:matrix -> b:matrix -> beta:float -> c:matrix -> unit
|
|
||||||
= "ml_gsl_blas_cher2k_bc" "ml_gsl_blas_cher2k"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_blas.mli orpie-1.5.1_1/gsl/gsl_blas.mli
|
|
||||||
--- orpie-1.5.1/gsl/gsl_blas.mli 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_blas.mli 2010-05-12 11:23:36.000000000 -0400
|
|
||||||
@@ -118,6 +118,7 @@
|
|
||||||
|
|
||||||
(** {3 Single precision} *)
|
|
||||||
|
|
||||||
+(*
|
|
||||||
open Gsl_vector.Single
|
|
||||||
open Gsl_matrix.Single
|
|
||||||
|
|
||||||
@@ -187,6 +188,7 @@
|
|
||||||
alpha:float -> a:matrix -> b:matrix -> unit
|
|
||||||
= "ml_gsl_blas_strsm_bc" "ml_gsl_blas_strsm"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
|
|
||||||
|
|
||||||
(** {3 Complex} *)
|
|
||||||
@@ -274,6 +276,7 @@
|
|
||||||
|
|
||||||
(** {3 Complex single precision} *)
|
|
||||||
|
|
||||||
+(*
|
|
||||||
open Gsl_vector_complex.Single
|
|
||||||
open Gsl_matrix_complex.Single
|
|
||||||
open Gsl_complex
|
|
||||||
@@ -354,3 +357,4 @@
|
|
||||||
a:matrix -> b:matrix -> beta:float -> c:matrix -> unit
|
|
||||||
= "ml_gsl_blas_cher2k_bc" "ml_gsl_blas_cher2k"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_matrix.ml orpie-1.5.1_1/gsl/gsl_matrix.ml
|
|
||||||
--- orpie-1.5.1/gsl/gsl_matrix.ml 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_matrix.ml 2010-05-12 11:22:51.000000000 -0400
|
|
||||||
@@ -86,6 +86,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single =
|
|
||||||
struct
|
|
||||||
type float_mat_bigarr =
|
|
||||||
@@ -164,3 +165,4 @@
|
|
||||||
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_float_transpose_memcpy"
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_float_transpose"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_matrix.mli orpie-1.5.1_1/gsl/gsl_matrix.mli
|
|
||||||
--- orpie-1.5.1/gsl/gsl_matrix.mli 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_matrix.mli 2010-05-12 11:22:42.000000000 -0400
|
|
||||||
@@ -45,6 +45,7 @@
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_transpose"
|
|
||||||
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single : sig
|
|
||||||
|
|
||||||
type float_mat_bigarr =
|
|
||||||
@@ -87,3 +88,4 @@
|
|
||||||
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_float_transpose_memcpy"
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_float_transpose"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_matrix_complex.ml orpie-1.5.1_1/gsl/gsl_matrix_complex.ml
|
|
||||||
--- orpie-1.5.1/gsl/gsl_matrix_complex.ml 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_matrix_complex.ml 2010-05-12 11:24:59.000000000 -0400
|
|
||||||
@@ -108,6 +108,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single =
|
|
||||||
struct
|
|
||||||
type complex_float_mat_bigarr =
|
|
||||||
@@ -208,3 +209,4 @@
|
|
||||||
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_complex_float_transpose_memcpy"
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_float_transpose"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_matrix_complex.mli orpie-1.5.1_1/gsl/gsl_matrix_complex.mli
|
|
||||||
--- orpie-1.5.1/gsl/gsl_matrix_complex.mli 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_matrix_complex.mli 2010-05-12 11:25:00.000000000 -0400
|
|
||||||
@@ -51,6 +51,7 @@
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_transpose"
|
|
||||||
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single : sig
|
|
||||||
|
|
||||||
type complex_float_mat_bigarr =
|
|
||||||
@@ -96,3 +97,4 @@
|
|
||||||
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_complex_float_transpose_memcpy"
|
|
||||||
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_float_transpose"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_vector.ml orpie-1.5.1_1/gsl/gsl_vector.ml
|
|
||||||
--- orpie-1.5.1/gsl/gsl_vector.ml 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_vector.ml 2010-05-12 11:22:19.000000000 -0400
|
|
||||||
@@ -95,6 +95,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single =
|
|
||||||
struct
|
|
||||||
type float_vector_bigarr =
|
|
||||||
@@ -178,3 +179,4 @@
|
|
||||||
external minmax_index : vector -> int * int
|
|
||||||
= "ml_gsl_vector_float_minmaxindex"
|
|
||||||
end
|
|
||||||
+*)
|
|
||||||
diff -Naru orpie-1.5.1/gsl/gsl_vector.mli orpie-1.5.1_1/gsl/gsl_vector.mli
|
|
||||||
--- orpie-1.5.1/gsl/gsl_vector.mli 2007-09-13 23:31:23.000000000 -0400
|
|
||||||
+++ orpie-1.5.1_1/gsl/gsl_vector.mli 2010-05-12 11:22:19.000000000 -0400
|
|
||||||
@@ -65,6 +65,7 @@
|
|
||||||
|
|
||||||
(** {3 Single precision} *)
|
|
||||||
|
|
||||||
+(*
|
|
||||||
module Single : sig
|
|
||||||
type float_vector_bigarr =
|
|
||||||
(float, Bigarray.float32_elt, Bigarray.c_layout) Bigarray.Array1.t
|
|
||||||
@@ -121,3 +122,4 @@
|
|
||||||
|
|
||||||
val subvector : vector -> off:int -> len:int -> vector
|
|
||||||
end
|
|
||||||
+*)
|
|
@ -1,11 +0,0 @@
|
|||||||
--- orpie-1.5.1.orig/orpierc
|
|
||||||
+++ orpie-1.5.1/orpierc
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
# directory for storing Orpie data
|
|
||||||
set datadir="~/.orpie/"
|
|
||||||
# editor used for fullscreen viewing of stack elements
|
|
||||||
-set editor="vi"
|
|
||||||
+set editor="${EDITOR}"
|
|
||||||
# whether or not to hide the help panel
|
|
||||||
set hide_help="false"
|
|
||||||
# whether or not to conserve memory in favor of faster rendering
|
|
@ -1,10 +0,0 @@
|
|||||||
--- a/aclocal.m4
|
|
||||||
+++ b/aclocal.m4
|
|
||||||
@@ -34,6 +34,7 @@
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
LIBS="$mp_save_LIBS"
|
|
||||||
+ AC_SEARCH_LIBS([stdscr], [tinfo curses], [CURSES_LIB="$CURSES_LIB $ac_res"],)
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="project">
|
|
||||||
<email>sci@gentoo.org</email>
|
|
||||||
<name>Gentoo Science Project</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription lang="en">
|
|
||||||
Orpie is a fullscreen RPN calculator for the console. Its operation is
|
|
||||||
similar to that of modern HP calculators, but data entry has been
|
|
||||||
optimized for efficiency on a PC keyboard.
|
|
||||||
</longdescription>
|
|
||||||
</pkgmetadata>
|
|
@ -1,33 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=4
|
|
||||||
inherit eutils autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A fullscreen RPN calculator for the console"
|
|
||||||
HOMEPAGE="http://pessimization.com/software/orpie/"
|
|
||||||
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
|
|
||||||
IUSE="doc"
|
|
||||||
|
|
||||||
DEPEND="dev-ml/ocamlgsl
|
|
||||||
sys-libs/ncurses"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
epatch "${FILESDIR}"/${P}-ocaml311.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-nogsl.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-orpierc.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-tinfo.patch
|
|
||||||
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
use doc && dodoc doc/manual.pdf && dohtml doc/manual.html
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=4
|
|
||||||
inherit eutils autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A fullscreen RPN calculator for the console"
|
|
||||||
HOMEPAGE="http://pessimization.com/software/orpie/"
|
|
||||||
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
|
|
||||||
IUSE="doc"
|
|
||||||
|
|
||||||
DEPEND="dev-ml/ocamlgsl
|
|
||||||
dev-ml/camlp4
|
|
||||||
sys-libs/ncurses"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
epatch "${FILESDIR}"/${P}-ocaml311.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-nogsl.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-orpierc.patch
|
|
||||||
epatch "${FILESDIR}"/${P}-tinfo.patch
|
|
||||||
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
use doc && dodoc doc/manual.pdf && dohtml doc/manual.html
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
# Copyright 1999-2010 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
DESCRIPTION="A fullscreen RPN calculator for the console"
|
|
||||||
HOMEPAGE="http://pessimization.com/software/orpie/"
|
|
||||||
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 ppc -sparc x86"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
DEPEND="dev-lang/ocaml
|
|
||||||
sys-libs/ncurses
|
|
||||||
sci-libs/gsl"
|
|
||||||
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake DESTDIR="${D}" install || die "emake install failed"
|
|
||||||
dodoc README ChangeLog doc/TODO || die
|
|
||||||
insinto /usr/share/doc/${PF}
|
|
||||||
doins doc/manual.pdf doc/manual.html || die
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
# Copyright 1999-2016 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
inherit autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A fullscreen RPN calculator for the console"
|
|
||||||
HOMEPAGE="http://pessimization.com/software/orpie/"
|
|
||||||
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="doc"
|
|
||||||
|
|
||||||
DEPEND="dev-ml/gsl-ocaml
|
|
||||||
sys-libs/ncurses:0=
|
|
||||||
|| ( dev-lang/ocaml dev-ml/camlp4 )"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}/${PN}-1.5.1-ocaml311.patch"
|
|
||||||
"${FILESDIR}/${P}-nogsl.patch"
|
|
||||||
"${FILESDIR}/${PN}-1.5.1-orpierc.patch"
|
|
||||||
"${FILESDIR}/${PN}-1.5.1-tinfo.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
|
|
||||||
mv configure.{in,ac} || die
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# TODO: fix missing edges in dependency graph
|
|
||||||
emake -j1
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
if use doc; then
|
|
||||||
dodoc doc/manual.pdf
|
|
||||||
docinto html/
|
|
||||||
dodoc doc/manual.html
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
DIST mkinitramfs-ll-0.22.10.tar.gz 57830 SHA256 4add5ee5b705790b066146ce9971cd36332196d7e2d22eb7d25400aba0a35549 SHA512 ac406054b3f55d07a9a8326a14b3388bea8881e4fb6439376406c1d564a7a6c070b1dd9735b6f95f569a14668c2ac1d95e49b33cffab0007e963f9282e9f2718 WHIRLPOOL 799c646a3c7aac0dfd904d45c2b040537fa6ea701fece988ac93260bc6362173d24d5ffbd2ae01043d73c9f711743e2b7deed36a7897327419e60f63abeae883
|
|
||||||
DIST mkinitramfs-ll-0.22.9.tar.gz 57971 SHA256 3017d71ee6b7f09d6d35628c500a0d3587bd51ae6d7a9b851c4bcc6c7edb8d09 SHA512 e169d72a49ad2c197c41dfd6a2359968a8ac160091cd0ade93515609d719abf9d6927df1f11d39d0ba18eb0863406306e43f1cfcd7ac7beb3c9527dad46fbf78 WHIRLPOOL 41479691d79e62533dcdf188b54934c5ce0fe23afc702401c99cd3b56872c4b70d2bf2b449cac61a05423262a6be33975849e08c99835c8cab16aeb33a770ede
|
|
||||||
EBUILD mkinitramfs-ll-0.22.10.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
|
|
||||||
EBUILD mkinitramfs-ll-0.22.9.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
|
|
||||||
EBUILD mkinitramfs-ll-9999.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
|
|
||||||
MISC metadata.xml 1805 SHA256 a0ddf911e97c146b879be8f488431489bb0f9f13e2926c590f73dcdaee037852 SHA512 a268bd6a07d0f3428eda18feac89e11e1ebe0c7db33a8751db456a56f8d2923a49663604efadc27c77096435db1984bf9b554a9960c317c5b6e8f66c09a8f8b5 WHIRLPOOL 3f276235de37c45b8602803d30e3afe01826b6a298c45786b790d1df1e20c901ebc96eb1a1cf7f49f560d1a18523568d659e5b81cb65f948ff6a59fd6f2200f5
|
|
@ -1,36 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<description>Primary maintainer</description>
|
|
||||||
<email>tokiclover@gmail.com</email>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
|
||||||
<description>Primary maintainer</description>
|
|
||||||
<email>bar-overlay@noreply.github.com</email>
|
|
||||||
<name>Gentoo Bar Overlay</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription lang="en">
|
|
||||||
</longdescription>
|
|
||||||
<use>
|
|
||||||
<flag name="aufs">Add Another Union FileSystem support</flag>
|
|
||||||
<flag name="bash">Install BaSh (Bourne Again Shell) (build) scripts</flag>
|
|
||||||
<flag name="btrfs">Add BtrFS FileSystem support</flag>
|
|
||||||
<flag name="device-mapper">Add device-mapper LVM2 support</flag>
|
|
||||||
<flag name="dm-crypt">Add dm-crypt LUKS support</flag>
|
|
||||||
<flag name="dmraid">Add dm-raid Fake ATA RAID support</flag>
|
|
||||||
<flag name="e2fs">Add <pkg>sys-fs/e2fsprogs</pkg> (Extended FileSystem Tools) support</flag>
|
|
||||||
<flag name="f2fs">Add <pkg>sys-fs/f2fs-tools</pkg> (Flash-Friendly FileSystem) support</flag>
|
|
||||||
<flag name="fbsplash">Add <pkg>media-gfx/splashutils</pkg> (FrameBuffer Splash) support</flag>
|
|
||||||
<flag name="jfs">Add JFS FileSystem support</flag>
|
|
||||||
<flag name="lz4">Enable support for LZ4 (de)compression</flag>
|
|
||||||
<flag name="mdadm">Add md-raid Software RAID support</flag>
|
|
||||||
<flag name="reiserfs">Add ReiserFS FileSystem support</flag>
|
|
||||||
<flag name="squashfs">Add squashfs-tools support, +aufs adds squashed directory support</flag>
|
|
||||||
<flag name="xfs">Add XFS FileSystem support</flag>
|
|
||||||
<flag name="xz">Enable support for XZ (de)compression</flag>
|
|
||||||
<flag name="zfs">Add ZFS FileSystem support</flag>
|
|
||||||
<flag name="zram">Add zram init service support for zram devices initialization</flag>
|
|
||||||
<flag name="zsh">Install ZSh (build) scripts</flag>
|
|
||||||
</use>
|
|
||||||
</pkgmetadata>
|
|
@ -1,115 +0,0 @@
|
|||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
|
|
||||||
case "${PV}" in
|
|
||||||
(9999*)
|
|
||||||
KEYWORDS=""
|
|
||||||
VCS_ECLASS=git-2
|
|
||||||
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
|
|
||||||
EGIT_PROJECT="${PN}.git"
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
KEYWORDS="~amd64 ~arm ~x86"
|
|
||||||
VCS_ECLASS=vcs-snapshot
|
|
||||||
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
inherit eutils linux-info ${VCS_ECLASS}
|
|
||||||
|
|
||||||
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
|
|
||||||
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
|
|
||||||
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
|
|
||||||
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
|
|
||||||
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
|
|
||||||
|
|
||||||
REQUIRED_USE="
|
|
||||||
|| ( ${COMPRESSOR_USE[@]} )
|
|
||||||
|| ( ${FILESYSTEM_USE[@]} )"
|
|
||||||
|
|
||||||
DEPEND="sys-apps/sed"
|
|
||||||
RDEPEND="app-arch/cpio
|
|
||||||
sys-apps/findutils
|
|
||||||
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
|
|
||||||
sys-apps/busybox[mdev]
|
|
||||||
dm-crypt? ( sys-fs/cryptsetup )
|
|
||||||
device-mapper? ( sys-fs/lvm2 )
|
|
||||||
dmraid? ( sys-fs/dmraid )
|
|
||||||
mdadm? ( sys-fs/mdadm )
|
|
||||||
aufs? ( sys-fs/aufs-util )
|
|
||||||
btrfs? ( sys-fs/btrfs-progs )
|
|
||||||
e2fs? ( sys-fs/e2fsprogs )
|
|
||||||
f2fs? ( sys-fs/f2fs-tools )
|
|
||||||
jfs? ( sys-fs/jfsutils )
|
|
||||||
reiserfs? ( sys-fs/reiserfsprogs )
|
|
||||||
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
|
|
||||||
xfs? ( sys-fs/xfsprogs )
|
|
||||||
zfs? ( sys-fs/zfs )
|
|
||||||
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
|
|
||||||
lzo? ( app-arch/lzop )
|
|
||||||
xz? ( app-arch/xz-utils )
|
|
||||||
media-fonts/terminus-font[psf]
|
|
||||||
bash? ( app-shells/bash )
|
|
||||||
zsh? ( app-shells/zsh[unicode] )"
|
|
||||||
|
|
||||||
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
|
|
||||||
RDEPEND="${RDEPEND}
|
|
||||||
app-arch/${COMPRESSOR_USE[$i]}"
|
|
||||||
done
|
|
||||||
unset i
|
|
||||||
|
|
||||||
pkg_setup()
|
|
||||||
{
|
|
||||||
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
|
|
||||||
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
|
|
||||||
local u U
|
|
||||||
|
|
||||||
for u in "${COMPRESSOR_USE[@]}"; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~RD_${U}"
|
|
||||||
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
for u in ${FILESYSTEM_USE[@]/e2fs}; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~${U}_FS"
|
|
||||||
eval : ERROR_"${U}"="no supprt of ${u} file system found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
|
|
||||||
|
|
||||||
linux-info_pkg_setup
|
|
||||||
export PKG_SETUP_HAS_BEEN_RAN=1
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare()
|
|
||||||
{
|
|
||||||
sed -e '/COPYING.*$/d' -i Makefile
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install()
|
|
||||||
{
|
|
||||||
MAKEOPTS="-j1"
|
|
||||||
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
|
|
||||||
if use aufs && use squashfs; then
|
|
||||||
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
|
|
||||||
fi
|
|
||||||
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
|
|
||||||
|
|
||||||
local sh
|
|
||||||
for sh in {ba,z}sh; do
|
|
||||||
use ${sh} &&
|
|
||||||
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
|
|
||||||
done
|
|
||||||
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
|
|
||||||
}
|
|
@ -1,115 +0,0 @@
|
|||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
|
|
||||||
case "${PV}" in
|
|
||||||
(9999*)
|
|
||||||
KEYWORDS=""
|
|
||||||
VCS_ECLASS=git-2
|
|
||||||
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
|
|
||||||
EGIT_PROJECT="${PN}.git"
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
KEYWORDS="~amd64 ~arm ~x86"
|
|
||||||
VCS_ECLASS=vcs-snapshot
|
|
||||||
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
inherit eutils linux-info ${VCS_ECLASS}
|
|
||||||
|
|
||||||
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
|
|
||||||
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
|
|
||||||
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
|
|
||||||
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
|
|
||||||
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
|
|
||||||
|
|
||||||
REQUIRED_USE="
|
|
||||||
|| ( ${COMPRESSOR_USE[@]} )
|
|
||||||
|| ( ${FILESYSTEM_USE[@]} )"
|
|
||||||
|
|
||||||
DEPEND="sys-apps/sed"
|
|
||||||
RDEPEND="app-arch/cpio
|
|
||||||
sys-apps/findutils
|
|
||||||
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
|
|
||||||
sys-apps/busybox[mdev]
|
|
||||||
dm-crypt? ( sys-fs/cryptsetup )
|
|
||||||
device-mapper? ( sys-fs/lvm2 )
|
|
||||||
dmraid? ( sys-fs/dmraid )
|
|
||||||
mdadm? ( sys-fs/mdadm )
|
|
||||||
aufs? ( sys-fs/aufs-util )
|
|
||||||
btrfs? ( sys-fs/btrfs-progs )
|
|
||||||
e2fs? ( sys-fs/e2fsprogs )
|
|
||||||
f2fs? ( sys-fs/f2fs-tools )
|
|
||||||
jfs? ( sys-fs/jfsutils )
|
|
||||||
reiserfs? ( sys-fs/reiserfsprogs )
|
|
||||||
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
|
|
||||||
xfs? ( sys-fs/xfsprogs )
|
|
||||||
zfs? ( sys-fs/zfs )
|
|
||||||
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
|
|
||||||
lzo? ( app-arch/lzop )
|
|
||||||
xz? ( app-arch/xz-utils )
|
|
||||||
media-fonts/terminus-font[psf]
|
|
||||||
bash? ( app-shells/bash )
|
|
||||||
zsh? ( app-shells/zsh[unicode] )"
|
|
||||||
|
|
||||||
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
|
|
||||||
RDEPEND="${RDEPEND}
|
|
||||||
app-arch/${COMPRESSOR_USE[$i]}"
|
|
||||||
done
|
|
||||||
unset i
|
|
||||||
|
|
||||||
pkg_setup()
|
|
||||||
{
|
|
||||||
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
|
|
||||||
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
|
|
||||||
local u U
|
|
||||||
|
|
||||||
for u in "${COMPRESSOR_USE[@]}"; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~RD_${U}"
|
|
||||||
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
for u in ${FILESYSTEM_USE[@]/e2fs}; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~${U}_FS"
|
|
||||||
eval : ERROR_"${U}"="no supprt of ${u} file system found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
|
|
||||||
|
|
||||||
linux-info_pkg_setup
|
|
||||||
export PKG_SETUP_HAS_BEEN_RAN=1
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare()
|
|
||||||
{
|
|
||||||
sed -e '/COPYING.*$/d' -i Makefile
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install()
|
|
||||||
{
|
|
||||||
MAKEOPTS="-j1"
|
|
||||||
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
|
|
||||||
if use aufs && use squashfs; then
|
|
||||||
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
|
|
||||||
fi
|
|
||||||
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
|
|
||||||
|
|
||||||
local sh
|
|
||||||
for sh in {ba,z}sh; do
|
|
||||||
use ${sh} &&
|
|
||||||
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
|
|
||||||
done
|
|
||||||
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
|
|
||||||
}
|
|
@ -1,115 +0,0 @@
|
|||||||
# Copyright 1999-2017 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
|
|
||||||
case "${PV}" in
|
|
||||||
(9999*)
|
|
||||||
KEYWORDS=""
|
|
||||||
VCS_ECLASS=git-2
|
|
||||||
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
|
|
||||||
EGIT_PROJECT="${PN}.git"
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
KEYWORDS="~amd64 ~arm ~x86"
|
|
||||||
VCS_ECLASS=vcs-snapshot
|
|
||||||
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
inherit eutils linux-info ${VCS_ECLASS}
|
|
||||||
|
|
||||||
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
|
|
||||||
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
|
|
||||||
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
|
|
||||||
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
|
|
||||||
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
|
|
||||||
|
|
||||||
REQUIRED_USE="
|
|
||||||
|| ( ${COMPRESSOR_USE[@]} )
|
|
||||||
|| ( ${FILESYSTEM_USE[@]} )"
|
|
||||||
|
|
||||||
DEPEND="sys-apps/sed"
|
|
||||||
RDEPEND="app-arch/cpio
|
|
||||||
sys-apps/findutils
|
|
||||||
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
|
|
||||||
sys-apps/busybox[mdev]
|
|
||||||
dm-crypt? ( sys-fs/cryptsetup )
|
|
||||||
device-mapper? ( sys-fs/lvm2 )
|
|
||||||
dmraid? ( sys-fs/dmraid )
|
|
||||||
mdadm? ( sys-fs/mdadm )
|
|
||||||
aufs? ( sys-fs/aufs-util )
|
|
||||||
btrfs? ( sys-fs/btrfs-progs )
|
|
||||||
e2fs? ( sys-fs/e2fsprogs )
|
|
||||||
f2fs? ( sys-fs/f2fs-tools )
|
|
||||||
jfs? ( sys-fs/jfsutils )
|
|
||||||
reiserfs? ( sys-fs/reiserfsprogs )
|
|
||||||
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
|
|
||||||
xfs? ( sys-fs/xfsprogs )
|
|
||||||
zfs? ( sys-fs/zfs )
|
|
||||||
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
|
|
||||||
lzo? ( app-arch/lzop )
|
|
||||||
xz? ( app-arch/xz-utils )
|
|
||||||
media-fonts/terminus-font[psf]
|
|
||||||
bash? ( app-shells/bash )
|
|
||||||
zsh? ( app-shells/zsh[unicode] )"
|
|
||||||
|
|
||||||
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
|
|
||||||
RDEPEND="${RDEPEND}
|
|
||||||
app-arch/${COMPRESSOR_USE[$i]}"
|
|
||||||
done
|
|
||||||
unset i
|
|
||||||
|
|
||||||
pkg_setup()
|
|
||||||
{
|
|
||||||
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
|
|
||||||
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
|
|
||||||
local u U
|
|
||||||
|
|
||||||
for u in "${COMPRESSOR_USE[@]}"; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~RD_${U}"
|
|
||||||
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
for u in ${FILESYSTEM_USE[@]/e2fs}; do
|
|
||||||
U="${u^^[a-z]}"
|
|
||||||
if use "${u}"; then
|
|
||||||
CONFIG_CHECK+=" ~${U}_FS"
|
|
||||||
eval : ERROR_"${U}"="no supprt of ${u} file system found"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
|
|
||||||
|
|
||||||
linux-info_pkg_setup
|
|
||||||
export PKG_SETUP_HAS_BEEN_RAN=1
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare()
|
|
||||||
{
|
|
||||||
sed -e '/COPYING.*$/d' -i Makefile
|
|
||||||
epatch_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install()
|
|
||||||
{
|
|
||||||
MAKEOPTS="-j1"
|
|
||||||
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
|
|
||||||
if use aufs && use squashfs; then
|
|
||||||
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
|
|
||||||
fi
|
|
||||||
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
|
|
||||||
|
|
||||||
local sh
|
|
||||||
for sh in {ba,z}sh; do
|
|
||||||
use ${sh} &&
|
|
||||||
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
|
|
||||||
done
|
|
||||||
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
AUX 2.10/glibc-2.10-gentoo-chk_fail.c 9407 SHA256 7745c0f5d37b37959b43b41e39762fc35b877161bc5740d9d3e9a83021acbc0e SHA512 d1c51c573353b3b8ae6ab1bcc8c10eda5cad8b98fc7ab4848e4fbd8a8736174f3c3fd1b72dd80c72b1e54be78f1cae4dc1ab8130df25aa6d1495e5cbbaf3b9f6 WHIRLPOOL 32028ddeb422d89c0523fec994413e67c6afd9fcfdaf147d3d6a28bd02f8feabda9571ced4509253b7061a95bb2c16cecf94a4274671b33909ff545b1787f101
|
|
||||||
AUX 2.10/glibc-2.10-hardened-configure-picdefault.patch 865 SHA256 b50b29f85d88011555bbcbe6046e6600be9344f2d78412b14aebdea515420774 SHA512 e0a09f77b209a72ab577fe1e62126609fdddedf3fba0eec749c4b506cdf793779b48390f055a3594892120f694291f8340c0b6f51862e94c03fd516897138be7 WHIRLPOOL d1b8e1536696350e0ed9eaf9a923daa7c004ef40ae94c1c3ba3d6cb293f1c19364cefbe8491089061124cbe26a9fded9f3d38d89f1bda56d408162e53702e8d4
|
|
||||||
AUX 2.10/glibc-2.10-hardened-inittls-nosysenter.patch 8823 SHA256 dcf78c6524c222dbee907200a8878aff727e29d43a4962b977a16d85752e5c10 SHA512 0605b7964af87d1d6bdccea5c4d1bfe6267d4401b8bbf0c8bb689663e6bb3ef92eebad8be6c23ffdf6632a4d5e6098d8a403c3e84ffb21b5e87b5b1d1ec3512d WHIRLPOOL 635261b547883bbfbe23c802fcf97916dee823b367f96732ccecd7506dff004b87f2d36d97ed398510711330f3a53f039a14e226d20a681cc201a8c7a3450833
|
|
||||||
AUX 2.17/glibc-2.17-hardened-pie.patch 1784 SHA256 bba32e40c73aef20122b2825f31e5c3aa058b61feae4f32f336e1941f83f82d1 SHA512 9ecfe2b6c8c982a42786181d6507d5fa588a6868109065451f58a779848837bd5e69c32a24e43a186c2ff63a9784015c51487e342c87982ac074139e36c169fc WHIRLPOOL 1baffbef9e6d870ea2f2ae5be014b71020a213a1a11e9856fa207545867de444ed164cb926b2aac23471854eaaf72a87e38760702b32bfcfa639add8733d925e
|
|
||||||
AUX 2.18/glibc-2.18-gentoo-chk_fail.c 9384 SHA256 e6ed60f4e0d262aaaffac2b84fd2fcf7906965dc9d91a2150b8b2d9f50e7b9e4 SHA512 f7106e36fa49b0000192c281edfcd49338c825b8b8663ac9d7304e8fe8b2f44b39c6c82a741b8e8abce4cbe2fd72f64e3cfe7a18ff504a4b2b2d63e5c75d62b7 WHIRLPOOL 80aa86694aedf306276ba74334a14e98b108caca046430e6ce71ec67221ef716e7350a667929bf79277bfa9f0eaa23d4544f8acf7e32fd54a26b3a0f5ebc596c
|
|
||||||
AUX 2.18/glibc-2.18-gentoo-stack_chk_fail.c 9599 SHA256 039a6249236c60bb909e67339fd7ef6eefd1f4bb71b8cd39f4fe04530c536315 SHA512 97acbdb8aa87dd7e197a1577bd053374b1c8c30d6c82f4a71ef04409bf87b36a60322237cb79896ebdb49960fcaae4c4f2333497f5c255f67717b01d6d62c2d5 WHIRLPOOL 40ed26d3a251a6f4de125a588bafb911b7ba4867f5139142c00a2bc2f2616658a45cff144d2629bdf33cadece020ed6a1bd7a74047da812821cdb6d3e8253f40
|
|
||||||
AUX 2.18/glibc-2.18-hardened-inittls-nosysenter.patch 8981 SHA256 3fcdef34164b7fa6e493e081d32427017d239236aa4e183e3a470fe49a028eb7 SHA512 98feb8f12dc5d2bb030ec7c6c77f3f9389ebc208fafc96496f316e577457dd991294d59735b013b17e1d10d5c7b63471d5b857d2334be78239a8ceb1ad62b1fc WHIRLPOOL 52ac2452fe3f9ec6ac3f4635cf017d1347eda6b950f25ecee6ef1b444de97fad5a1792432e0c783375fc7d07c80b4cd77e48a6d6051aec3933696e2f17fcec18
|
|
||||||
AUX 2.19/glibc-2.19-hardened-configure-picdefault.patch 865 SHA256 feeb2ddc276e90f55d2fd358837e8d4922d3b2875cb8080b1d8e27e5da83a2d9 SHA512 d8e6fea72e240f1fde8a487958463140a84e8bd6bb5b176f8ce84a34df3137943db9016300884f3efdd4da130e342448e57ed0c0dc6eb2956d647286ce1d00ce WHIRLPOOL 3a5d2882b5fc1bea78c45409c848c94a260659e3ea1e28a5dc8818de8825e55453aa1cc97b86eef99c91b17bde9f2a6db1fd8ae03839f7029d93a71feaa4d4d0
|
|
||||||
AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 SHA256 f0d8bb004f598375b61e67e1c215b15953c293038243207f2d85cbe9f10d093e SHA512 79876b12871b3e7693340bfdf99276ac0dfd6ff30bc977a9526af9e681fcbab2f25d3ac9e2b33f027c968b38a4b670237de54ffd08edc418423ecd82dddd1d67 WHIRLPOOL 5ca64dddf58a790cc5f6090ae48fc4bd4799a9aac4c67f6ef7d1fea9498208ffc38ee8167b6ec80dc97c4f723fcdfade8f573893f1b380aff04f6d0476d0d253
|
|
||||||
AUX 2.20/glibc-2.20-gentoo-chk_fail.c 8978 SHA256 f9cc426b0fb21de1dc11bb36e43bca8e1b3114fe78f8b343f672a951a82c742e SHA512 5cb529ac9d18a315f25fd48a3a80a529924bee0588074c97e6df7dbe8568a67f786363c41da6300ea55818369e3609ed4315b2e2104f8a8b4f1266ba43076eda WHIRLPOOL 2d38c19a20226fc4687037b8bb19025065f039ddaa62466879ca98765c8899e64b147dd148565304419ed1a98fbe1f8403710b22c930b08a19bddba7e79b0f1d
|
|
||||||
AUX 2.20/glibc-2.20-gentoo-stack_chk_fail.c 55 SHA256 ec73e74297b5eade591bfb3a2999989e2a7aa80752140048ffa67349635f05e7 SHA512 4dfec1bd17007b826110dcb73d09331a58b7a892c87de55b94480b14c28686442c567725b610082813411cf9911e180835a400a54ea704fe80f81cfba966a989 WHIRLPOOL b2b338a50f7895c530a71a19e4582bd0116a0b9d13b2e1505f0566924557493849f93cefb2c0ad1719ef684321e145129e0f72cfc9aa85a44ea7ebf910e7304c
|
|
||||||
AUX 2.20/glibc-2.20-hardened-inittls-nosysenter.patch 9951 SHA256 992fb70b9b62674d94ef8938297a3f2591b3121495987d927f5a44c1d8788658 SHA512 a8302ee2963bd791be859233223b17cd154afbf04c13c046956bb1140d748272d7bcb3a6167ce8b61573ebcffe906dff064308374d2910656b8fad18480fe422 WHIRLPOOL b8753d6f1301650b91b5cf4f342de22010d819deb2bf4da27aac33d7540e15a140b8a7a4c5e111faba320873ed5784b22f6add29181fbaef14c3e9504b1b838f
|
|
||||||
AUX 2.6/glibc-2.6-gentoo-stack_chk_fail.c 9545 SHA256 1410ded812be80d452eada5f9d6b9bd7bdb504c14f01cc27dce3e36b6f92b92a SHA512 360b77df2d19d14060e19e763878297bf042eccd5206ce4829a33c78c982b59b46144116d237a7cac73a22dd6cb4987c8dd50f1d16003baa22c2cb2942d2cbdf WHIRLPOOL 44e14dacdd258c46201a44c2c6aae4d975b960a914c24e49f2b39dae960636512049daa052d3cd8e8d93819d263327c28eac947efdb5d9e240d1bc6e9964016f
|
|
||||||
AUX eblits/common.eblit 10956 SHA256 6d42f84d8a2b615f30a15219cc486ad1cfc005c30629b3c0263654d5d0a820e6 SHA512 84906446ad82819bc104f6358149d374b43045a29d3075659b203ad2be6dcaace9eda6109e6866bba52e7629d40fb22ce9d01dfe03f4ef2978ae15c3aa2b9c78 WHIRLPOOL 15f1f6cff9ca3f503721f33c9faa7bdd3d8c25da63d13aff8b0bf8af9df4fec721122d7be937344cdf6781790371bfec1111419a6da61c1c3cd9d5c02c69caa3
|
|
||||||
AUX eblits/pkg_postinst.eblit 971 SHA256 abcb925bb0730d1eae22bbcee7a4ba6523280390f410f38bfdf9eb44e0280000 SHA512 65e577c77a9a488c5e93ccd4afa325ab7e3904df594c13fda17136c8aa2748fa4e6d0102f4799b4ac9b8c3bea9920faadc4db356ece9929ee708bbfa9151dfc2 WHIRLPOOL fb3cdfb702b0ce616064f94321b9225a53b300f76d95495098b6c97eb3ab1650ea2d323eae169bb8d1fd8795134aacb5c54ba6927fe743b01f124aec416b15a0
|
|
||||||
AUX eblits/pkg_preinst.eblit 2076 SHA256 1d2f3107f463baf916378ea1b6079ef4d03983e1dc01fb7ce551f94c457992b8 SHA512 78fde8ac1338029c7e66ac592044ad797fa7771dfdb8ed21ab681bb3ce5d9778a960b8606cdb7d35f6ace0188d0053dfab29a9e31b1d0051a2f2170c9449d368 WHIRLPOOL 474b8e6883dccd735808bd4f8c0cf42b619c01c2c55a80c2eeff4bdf4716cd706c834bed2a919350fc339f0b8b61c8ba94c342df5736332f32b40ba3155075b6
|
|
||||||
AUX eblits/pkg_pretend.eblit 4991 SHA256 bf6471db95d844a2707d7abd0082c1c9ff37b11352b960cf8ad2a204f3b7c6db SHA512 5754f3d3ab2e2a4b597228fb8ba3c3831eb89f9bf5ab6b8eac59e2253c87e1fa42cf3fbf775ee5fa1f115e70efdc5325e115d65e37a3bc7894473d3d07394929 WHIRLPOOL 5eb7d48c2732698ffffbc52feb6c4753bed1b172d931747e90b8f13c436c347725c09d15210179b3b26d2a87a4132a5eb7c7ee356c2ecbd77e368e3ff0b0a61f
|
|
||||||
AUX eblits/pkg_setup.eblit 275 SHA256 c5de97dc69d3508555ac579e14ead694a75edf4707c1749219677ebee88ca9ab SHA512 627740976e372842b09034b79f61f5cb5d8283f47c94cfe66b2aa1517c901df0bf3b456f1ba26a9ddc0aa0215190d0415ed4f881cc950d163d8203a0e6bba2a9 WHIRLPOOL 16ef3155b35671311443f4c231c1867d12731035aa603dedb6e86eabdc1501c67183474a26bb06048e12c19ac3bda054fdb8a107792a3dddb743b6dc7d447339
|
|
||||||
AUX eblits/src_compile.eblit 598 SHA256 3b90a6f44d307b92cee36fdd91d412bdb9fcbab555e6c6bf8174c8e3f29137ca SHA512 ee216aa3bb13f75313d141459acb47523442addf12a6bb8d829ca40eda4f63324911a13ff0ae90fe6eed1fbe0058c89308a2205c5357a0e1897a89573fea2f51 WHIRLPOOL 3bfc5406e794ee9ee4005e97aa2d40a82d77de090c72767d6b43be6993048536b4f2442bf6864157d036e7ea3fce6ba6537a97cd2afee04c61f9e98e1adc3c00
|
|
||||||
AUX eblits/src_configure.eblit 8218 SHA256 0d279bf1a1f72335d31843d5558f8f5602368eb840a5a107d93ef914e381b45a SHA512 097e5e44108c32571bde23c7c5fba500d6f6e7959e0c2088bcaadc8bdd817f03a0038d1c08c5c746ed756a09e5d015dc506c7f0bd7f7837bddf16d8aabd54216 WHIRLPOOL 818b0559d1949dad4d2e69399b9f88fb883fdf69e4be77796c5850a0a8b13fe22697d4adeea5d10ff40dc1f9391d72242c7de37bb1f0047cd655aa6ea8d9c38f
|
|
||||||
AUX eblits/src_install.eblit 7814 SHA256 8d64a4a031263dd7c3e7ba710a5dbe51fa7004b9795fefdab55f7db273f5e89f SHA512 fb9fc62103e1803509f5910b71eb28398258433762b930c93cccb7578756599739714c41077a2d0fd81c78e8fd14fd30b384a2c141d8df801507414531062551 WHIRLPOOL 4634ef7da02f35d461027a4d5bd27bd4e888805de0713b577ac47eb1161048f929e1c52e38fc4ad8da333a2198877b82962416edfb30bbaafb9055fb658a6226
|
|
||||||
AUX eblits/src_prepare.eblit 2234 SHA256 ba76d31b6a4cafbf9d580bc337d88d44a706b201a5799d2e32aed50251bb703d SHA512 8b57a852e357e143d4b4c72c620d28bf3937c017a71b1760a7b7d5c684c5d2a41488a16b5f666487a9b5efe3b1cfa7b3b067dec1e832e6139455c61c62f2fafe WHIRLPOOL 98bca56b92abc78fa717d74c7aa37eafacd8674093638653e37f85fffc09da6abe8c0923bc735606ed56862f79daf26a88573c719fc04961025951dd88967995
|
|
||||||
AUX eblits/src_test.eblit 698 SHA256 96b044ef9a27c2591b2a440b45bd89989022d0b41c546ce4dcea58a631315bf4 SHA512 0a46dddf53ccbfaab3f85ba7d2e8f202b4d5be98052601686592eca0ec115de29d8cb1f324ba12dcb77f3a8d4bbb39032532042b8adf809a772ebcc845b1a152 WHIRLPOOL 42af8b97859789b52a5a0c100ba109d8c3dd47532ef3f0b764c95b7a61be9d293d99de25e601dacd840c0a4cc921740b5acc2a3567b5aa3ae8ac6f88430ccf04
|
|
||||||
AUX eblits/src_unpack.eblit 3096 SHA256 f0934fe81278797a0625fde2518f5bdf8531c75443ed3dc6ba7d18aa751cb235 SHA512 6fb32f854920ac4c0df5d60d334f4b9376b05d9b2df7d1bfac979acc3d7c282846fcce36c9816558ee75db030c3551b95f2ff26e53ea166adf97a2ae5db55abf WHIRLPOOL cee004cf4967f0b073f56ef5bbc67e56981f109400622f70cfba51ce120115f4c25ee7696a5b9baf7b22080d01d038ea936d5c342d65b7331b3801510a509123
|
|
||||||
AUX nscd 1527 SHA256 70a809ba34959aa9622bda95299e7391d14d84fad8b3cf5012e2284b6324b6cc SHA512 d25cd0696e4ab2c33fbfe4adeb2f7f9ebe6b77f78d8b4aa79e88aaec21e7aa9c26de724ad0aed5e3e994a8c96bbfa759c48eee99b442f0e4ab9b2c62d177549b WHIRLPOOL 2edef69a468325ac30f8b3f9ea3082f9fc69d887f775f5bed96fc1135bbb675ce1a797a898ce9f744d5d0c3fc0f2156edbca0e39134f08a2d8f41ef3513bf3c6
|
|
||||||
AUX nscd.service 337 SHA256 de7bc9946309d34f0ab44aa22a4d3cf259fe91c57e8000d741cb09ecd3a6caa0 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea WHIRLPOOL f01d191971b0dc45f541c9ebaaa1a40f3497e2cc838cff6a20a7b1828d726c248abbd94322a5a5ff30c33ddb7d9086cd4d2ba3bdc1811fed59ff292ef3983a72
|
|
||||||
AUX nscd.tmpfilesd 111 SHA256 f0f64c4612d2097173854d2ec2e94ecbf4b77c7a6e94d950874e37346aa90d72 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340 WHIRLPOOL cf1fed1a7e2ac1623a84f1cfa2062645afe3f791da2f4ace3859d12aa05df0e282b4c2e367a460015956ac2a8d01fee4cda84917a3adf2c38561dff200335270
|
|
||||||
AUX nsswitch.conf 401 SHA256 bcafb75d99fc101c9877642ee43a87fe417c164e4ef6562e9c033a5639d30d5c SHA512 e7969cd8ad611ac267cfe10e21bc63fb640910e0c0b82d6da76944ce6a7535d585a369bad62c6b6139f38d67403cb77938606af990350b7395bdbf8e1bfa7b34 WHIRLPOOL 97c713070be7890382663d2c70572794db4008298b342d9044b450f8d841afd01bb848f3e300bc745b17fb7d7b082aa094aecadbc185060115da04f05e4bd2c7
|
|
||||||
DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 SHA256 34aec5a59bb4d0ecf908c62fd418461d0f3793238296897687305fd7a1f27299 SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269 WHIRLPOOL bbce19e7fe5c30faa55ddd4e29070f0d1fdfca3a04e8d68e0772260fa9be89ccde63ec92badb490209008df5fee6e53dfdeec4ae51857b90ba298a79315a199f
|
|
||||||
DIST glibc-2.17-patches-8.tar.bz2 83707 SHA256 477946a4915dcd0cc0565ff8532d219e2ee868f6e821ea71ce579652d01ccbb3 SHA512 6675357e62b554d9d0f8ef70341b8038f8f89591fba384bc3783ef81aead0532486e2218af71da9c6f88a3b8b382edec81bed36eb636ee231eac80e111acbfd8 WHIRLPOOL 946f431b28ec60cc61d44364187f64a2d6e92ed7c9071126cf70277843c656de4dfac9f184f572f9a72c0cb452d879cdb7aca5b9f92f8ff02a8b1a521fffef43
|
|
||||||
DIST glibc-2.17.tar.xz 10981956 SHA256 6914e337401e0e0ade23694e1b2c52a5f09e4eda3270c67e7c3ba93a89b5b23e SHA512 384e54037daaa344a26ce58242acc3f9a249d0765088d18a540a305745afa33ae6dec4024adae958eacd7100be9c713d117260ace8340f6d8c8396dbde4868d2 WHIRLPOOL 9b98c1c298aeff607aaa554341c300c15491b7314f127524fc5c048c67c5059daaf706e6cf206bb69213d5307e37bed87137ab46f504d8072bb778310081fc23
|
|
||||||
DIST glibc-2.18-patches-4.tar.bz2 95165 SHA256 89b458e22db60847b4ad869e3b5cf32868528b8d73205a692a6c0d07779dd083 SHA512 d881c9c5fe32b967694d4ca5185ff5ffc964449f2ed49fd062e5d57a3c6d9f16eef2f591d2d8e98a1a95a6487f3436ef031839ed8766fd085404b288340b7933 WHIRLPOOL 55f87d0efce1f84b45968f377e868c31102cb5228fe4ff1ffa132770f242f9f4f1843c28e4eb38ee7bed1321507ae12b7284a18199af63df1ecd070233d1076f
|
|
||||||
DIST glibc-2.18.tar.xz 11150148 SHA256 2cb4e1e381928f1e5e55e71ab1ba8e0ea7ede75ff9709770435bfd018ea257a3 SHA512 27218d2e7dd3bf3908d7af171c490933680e958c579ebd27b43b661e223fd5de2219cc1cf699170405280808c84de476d0ad86dbba35a488ef404e9438552327 WHIRLPOOL 89b877c7db602ffd4374c7fb84db17397b91f889a7de6259f79374cc3fcd00613114cbb93feb518ef25fb2e579fb03843df15d17235c1fe1b6a7e0e64aa8e8fa
|
|
||||||
DIST glibc-2.19-patches-3.tar.bz2 80664 SHA256 6fb03292e224199e0dd9ba7ee83aca723e1560f26831e85cdc6302b187c6de3c SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 WHIRLPOOL 6f28a2d0dff42e8ad0e77859938e3093753f77f78821375777eebb2db5568bf1c56e8b8208f02280f23acb2dd26dc8a313fedd5b2c10755f1659e6d324a1dbc3
|
|
||||||
DIST glibc-2.19.tar.xz 12083312 SHA256 2d3997f588401ea095a0b27227b1d50cdfdd416236f6567b564549d3b46ea2a2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d WHIRLPOOL 9581a3a23ebdd56bc559b56b95b7bcd21ca039546ec19c6c0e4e0738597542164fdb21ab1d1f36d5e73a205fb51f0974c7d497972615bce69ae002298f6475b6
|
|
||||||
DIST glibc-2.20-patches-5.tar.bz2 55986 SHA256 3d3eec9ac9b5d0530f9e05614f4646d64ff93a48865b42c156990bea69247cda SHA512 409f59a028127e02f0c9f91107715b540d8d234475830adc17108a02664be232098d119b43bcc8df9b328ab50c1fffb0868d510e6487ce1c34ec2c7c7a78375b WHIRLPOOL b3c41b01af5d8ae8e901ac48ae124e13ff1c76fbeb35315cb9630c648c03d7abbfb753294cbdfe1dc939bda260e24d8450ffb19cfe5c255b32f8c5500f2c43f3
|
|
||||||
DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
|
|
||||||
DIST glibc-2.21-patches-7.tar.bz2 46894 SHA256 49126df6f4b819f2c315cca0a07e9b8ee7e279257148506d336ccfef5766bbcb SHA512 e4cca3d753c0b9d213c0ed85e3d08cbbf6517862b3a48af987e010abaf5a022b47330040ced183d30b5b934de7587e97b4342e51a6df3d5cfa768bdd8b43b756 WHIRLPOOL b5f4bffdcaf629d735e7498f509bf2130acb18194b18e69747bb6c3e403b221f2163eea3770bb19c05253d7134f70ed4657d7c30c5978f7b5571a3482f9521ad
|
|
||||||
DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
|
|
||||||
DIST glibc-2.22-patches-13.tar.bz2 74479 SHA256 ffd1e0f9a41be030e5ce2518d9e84a1fbaa9a4fb2e96f1b85dafb05fea666c86 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897 WHIRLPOOL 0eeedaf09eb42e5186256dd41aae00cd2b9b8e3ab929a792e83d0fd8e8a8630d829f01b293588bf59e105eb17ab512416d8d115c3e542cddc34a84b84d56af3d
|
|
||||||
DIST glibc-2.22.tar.xz 12969072 SHA256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b WHIRLPOOL f7e707b3776fc197a2e7bf5633721925507237b154bbc1f94b9fc303c87e6fc039ff0758da6ee55b4c1a0daaa87c6e594a6c96e7b00a7ba8ae98ee29918709a7
|
|
||||||
DIST glibc-2.23-patches-4.tar.bz2 230533 SHA256 5b64a9b30778be79fac8a8c7e2ec7ebb077e136c85d79996ae3d725189d236a4 SHA512 af140a13bbc28070bfec26e041ce562b1cc091d312a82f385becb3ab87ee882d8ea10ac4ec6dcf86f154857527a3383782d46141016047338cebc7c393329cf3 WHIRLPOOL ca7be788c64428bd2bd6e41eee5345ff85dc9ee0987af55f60104a9f03e3019b8fa6a933ba785d3b1b27540c2485160d50499049985271227c07b094db649de3
|
|
||||||
DIST glibc-2.23-patches-6.tar.bz2 311773 SHA256 d3fbc6068bb7bb92a5e4c8fc30d5c70c203a64bcb33b5578de7639400e1a56d9 SHA512 681b5ee139be9f2daf286a42df3a811b44330ee1a24dd539c4510b13cd51698884be3799b1ad85d4f67ed143e821156c442c25735481052a59b5d8a3b4449d75 WHIRLPOOL 36d69a3e88b5d162311686ee0a4b5d7856a98f9a6e5955514c3c642b855773bbb9b5753c5c95eb0d749798c5c485bb1ea57db7c72164cf3b8561b16ca1a082c9
|
|
||||||
DIST glibc-2.23.tar.xz 13455260 SHA256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf WHIRLPOOL 7c7e3bf55a89a04bac917b9ca5a1cbb1613f22c427d2766f114b5a36f9635856005b823852ef5d3b73462b577fe4e5865e68e7b64633d48a95fa1e5eaa831a71
|
|
||||||
DIST glibc-2.24-patches-2.tar.bz2 50398 SHA256 1fff0752826b8ab08d6fa115caf2c7fbd3ec2ceffd6c7002499828d8722d546b SHA512 a4c48ebfcf49df0110a43c6afc97be7b3432593b9c4a5aec1b053b69dbca01ee2493584bdd957970e28a9b7e8542ff67cd656150034fbc0b318f2c4295745222 WHIRLPOOL 0fda6d4d936b3598d9026fa1ce2b86833f341919f5c9bd66d95e1a0a5a3e1517d48bb599d48e7bb68e65f6fd439204f57cf678e1984722d5f83faf8083029110
|
|
||||||
DIST glibc-2.24.tar.xz 13554048 SHA256 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb WHIRLPOOL be82b47fc73f7e780e8e73a5f58b313d8e861d5ea8c4320f95ef0d8c1e125ff011d61dcfc0380be0e83868bd8c3299de1ea662da7fc8d709050e89b2c126e3eb
|
|
||||||
EBUILD glibc-2.17.ebuild 6859 SHA256 14a43d5fee65d2fcb296f899adb834595c3ca0be01dc132c42186a14502a1a01 SHA512 d126c7e2ce87383b4ee747c3f7f62deecd13a2648aded4fcb9899a44205dfd2a617c7a5a356b433812782de3b362bf6d399a2d274b2d805af22dbf14b91ad287 WHIRLPOOL 165b12fee5cbacc644e6495a297b77705e35e9cc8044d4d4a2fd4c3f15473bc168663ee106cdc4d38bbdfe5fd0d3d2534727dc2bff8560c1b87a98a1eab65b67
|
|
||||||
EBUILD glibc-2.18-r1.ebuild 6920 SHA256 5d8647c1b1b6e5def5c5692232f1655c76f60ba643a763b0c1328783d5e03130 SHA512 4e96c0303db04e082a48bcbb72674f4f907b601ad8cc0c12dcd34cf67309890cfc42ced882bc4ab5ed45e8ca86dd795b901a833e202d417dd98720cd03770c2b WHIRLPOOL c44eaba3e2725a319995ff152c2ace177aa236bcaa6f56ef8d2eeb9fb64de3ef41b6d3886b38983601bcafecc931f6d6cc12d425fc367dd0378e09008a24bca5
|
|
||||||
EBUILD glibc-2.19-r1.ebuild 6878 SHA256 b9787f2b1a512aef86ccee41a24b4741bf8a44c42a52489ef29cdd327f7b3ac2 SHA512 abd0c6f17d1158a96b981de37b34dfc7c7b257a7be0e57031f7ec8202beb85543149a3ac4447d4896ab00411a9a3dc0e547832422261289fbffccea201644bf1 WHIRLPOOL 38e472de0c38c7557e376a1b4a8b0c087f2ba6500a790c9ddb63b8a84665276a93a1f36f966368b6623faed7d4c2b9003aaa6293c288659bd90faab328485e3d
|
|
||||||
EBUILD glibc-2.20-r2.ebuild 6441 SHA256 e6e29f8ef84d2cfca0a08c01a31fc0759dbfea2c5039d56fc1de7b1869b0d891 SHA512 0841339e986f804d093f8604445421ac4032e18b233fa9dc911db00e512f43908fa9351e5baa86d790e9e2b6d9c1e4dbae111f5a48853878b11e749cbc0eb872 WHIRLPOOL 15f62b665c72c6e63ce9ea59a277edfcb94aeebe1fe130c8149ceb79f5da353d96296905def88b4959cb2a6bf4aa3fbda0015cd4dd06dd8ccdea8e5d52e81272
|
|
||||||
EBUILD glibc-2.21-r2.ebuild 6416 SHA256 384d2c5c88508723052045afce51fed8716b79020033fe160f182af483dfd94f SHA512 ac0de01cbc63c6017e78277de38bb3ef22ec8bf2e16630492d5956976d8920a9f381efce3a86aaa24332dd54421c1e028cccfd0d86b9b9e59ea2d2d5a9a98e90 WHIRLPOOL 01ec17ed723a6747208c90f4656c6e3362157041db8094b8fcc744d6b11c97019eeda5e89fc4dfe95ec8dbf11b46c35979bf4b54d974122b15caf54caca0771f
|
|
||||||
EBUILD glibc-2.22-r4.ebuild 6468 SHA256 2d21ac88202655384de0dfb6c6b7dcc82d60eaa0c30b9443caf97f2d33cec0d6 SHA512 be923f64331cb3241948c8c1be6295fe6305ede10976af6be04d19556e4db2038446a5456df4ef031a48c6832beb87e8d60423e40389cff75b0032fd12b92898 WHIRLPOOL 8c84ce37c2733e79a5b2cac4ab9833b263fe06da9650c778493b86d174c6c7773753065a63d02c021e40bef3ced37f8af0090c91e214c709dcf1b0a4b3565f1e
|
|
||||||
EBUILD glibc-2.23-r1.ebuild 6638 SHA256 b3840fbc9f5d0dff20d26b9029d359be5fc3fa27c5ccf33b9e5ef7009a3bae59 SHA512 d97580a4d829abb3449a6c1652df318d501b494ff69c6eb1503b7d5cb1ad3519f6cbbba87b898cb8652a58a852da6c599b5d1a67e6930f9f44f261578f0aefd4 WHIRLPOOL fde770d176d15d27fa8c8819d6769d1dfceda21bbc0249629ffbbf0bea1756055d4e0b5173c9aa87f3508647a0b264a9d1573b5ffcab259ed105ccf62d2f554b
|
|
||||||
EBUILD glibc-2.23-r2.ebuild 6722 SHA256 51b30178b14a83c8c8e80f8ea373c09951307e450263936ebdb8b509cb0a0d7d SHA512 24c286a14e6cec196b28af470133b6daa4a34592672bd7cec56a0bf870826b2f5c982d27f53f9fa706afef40651c832f320bbec700fe738ebe6e2d7a14d9dceb WHIRLPOOL f1b700e7f58359c23188259409a1ccae779b9410e3eb8b25ebd9252bc05560b1a7a36447ac669bb938d096febe18fc86e53f16697a6089bfc9d7c5f9189c1e23
|
|
||||||
EBUILD glibc-2.23-r3.ebuild 6362 SHA256 982ac3570ed3fdd7a8a577f8845bf3e178c3b9ff988cde8c04ef6d3109b48272 SHA512 07afcd70154275f0f1a4a93f8b9839542444407582a4f9c9a9781dfa28e2b2e3aa0cd9c7575f632a3e3091f9a5c852fa40243aecd255bdce12791151c6c9b699 WHIRLPOOL 1754ded0b59c2a9b9d901048566b9853c42c3ed60e7b91353b86259a695b45bcf89b928363bd5f032aa00ff0c9f790d574491a4172abf6e2b38d28a5e31a5838
|
|
||||||
EBUILD glibc-2.24.ebuild 6356 SHA256 6c545c26ffe3d898246d8aef535ba4198d72d35ae04084871459001531fe2032 SHA512 11d45082c72c6d6200be2f27b982a9cb24ab16cc9c9b692eb3e3256851ddfa039f5031231f838e1866dbfae9ffadb238af919dcdf4cebe4c98ace60a2f4b513e WHIRLPOOL b0d97882b369340d7d0afba81fc5042a107bfe5726368eb423619addd738adf0cf4f4ec2bcd34341c80402ff4560dd803756c2750e5ac65102850685241c0416
|
|
||||||
EBUILD glibc-9999.ebuild 6030 SHA256 c57d4e0feee6aaf0f45087283396e30e7b9f5c9a9e9a906c79354733cb2ff7f8 SHA512 17fe2e11acfd4108f13e92bcae9ea520b408c05a863a5a120852161d80bf24a7a23bbf6bdecb2fee7dbc879ce2a0b15d1a84a3392e7c5c78b45fbbded271d7af WHIRLPOOL 34652ada3a7ee1a28b75680beb794eb4b1ce0f0a4bad6747e712c19126806531f17c15be6ddd0fbe03cd9f45935bff34457fce369a4a96dfe9c4a534cce0f759
|
|
||||||
MISC metadata.xml 921 SHA256 c01e0edef8cd5db7d721a3abfba19365507f1cb35df4d62b048468fe49b543f7 SHA512 5d4ecf57cf80cbda0dea361d7996ec5df384eee928c07e8e37e25e0ff82577144878492a49b318000b10f51c1ad03b950db7ee5d74e46e96e688b2fcdccfb66a WHIRLPOOL 7024db2e0a3ea6269c9d4158b966c0fda46eee5c7787a7e99b90cfb366ec816843e8849b9390aaec37af05eb530445fa12e0b70dc75ce16277c10c4234d231df
|
|
@ -1,315 +0,0 @@
|
|||||||
/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
/* Copyright (C) 2006-2008 Gentoo Foundation Inc.
|
|
||||||
* License terms as above.
|
|
||||||
*
|
|
||||||
* Hardened Gentoo SSP and FORTIFY handler
|
|
||||||
*
|
|
||||||
* An SSP failure handler that does not use functions from the rest of
|
|
||||||
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
|
|
||||||
* no possibility of recursion into the handler.
|
|
||||||
*
|
|
||||||
* Direct all bug reports to http://bugs.gentoo.org/
|
|
||||||
*
|
|
||||||
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
|
|
||||||
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
|
|
||||||
*
|
|
||||||
* The following people contributed to the glibc-2.3 Hardened
|
|
||||||
* Gentoo SSP and FORTIFY handler, from which this implementation draws much:
|
|
||||||
*
|
|
||||||
* Ned Ludd - <solar[@]gentoo.org>
|
|
||||||
* Alexander Gabert - <pappy[@]gentoo.org>
|
|
||||||
* The PaX Team - <pageexec[@]freemail.hu>
|
|
||||||
* Peter S. Mazinger - <ps.m[@]gmx.net>
|
|
||||||
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
|
|
||||||
* Robert Connolly - <robert[@]linuxfromscratch.org>
|
|
||||||
* Cory Visi <cory[@]visi.name>
|
|
||||||
* Mike Frysinger <vapier[@]gentoo.org>
|
|
||||||
* Magnus Granberg <zorry[@]ume.nu>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include <sysdep-cancel.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
#include <bp-checks.h>
|
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#include <alloca.h>
|
|
||||||
/* from sysdeps */
|
|
||||||
#include <socketcall.h>
|
|
||||||
/* for the stuff in bits/socket.h */
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
|
|
||||||
/* Sanity check on SYSCALL macro names - force compilation
|
|
||||||
* failure if the names used here do not exist
|
|
||||||
*/
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_socket
|
|
||||||
# error Cannot do syscall socket or socketcall
|
|
||||||
#endif
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_connect
|
|
||||||
# error Cannot do syscall connect or socketcall
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_write
|
|
||||||
# error Cannot do syscall write
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_close
|
|
||||||
# error Cannot do syscall close
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_getpid
|
|
||||||
# error Cannot do syscall getpid
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_kill
|
|
||||||
# error Cannot do syscall kill
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_exit
|
|
||||||
# error Cannot do syscall exit
|
|
||||||
#endif
|
|
||||||
#ifdef SSP_SMASH_DUMPS_CORE
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
|
|
||||||
# if !defined _KERNEL_NSIG && !defined _NSIG
|
|
||||||
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
|
|
||||||
# endif
|
|
||||||
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
|
|
||||||
# error Cannot do syscall sigaction or rt_sigaction
|
|
||||||
# endif
|
|
||||||
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
|
|
||||||
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
|
|
||||||
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
|
|
||||||
* some reason.
|
|
||||||
*/
|
|
||||||
# ifdef _KERNEL_NSIG
|
|
||||||
# define _SSP_NSIG _KERNEL_NSIG
|
|
||||||
# else
|
|
||||||
# define _SSP_NSIG _NSIG
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define _SSP_NSIG 0
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SIGACTION - default to newer rt signal interface but
|
|
||||||
* fallback to old as needed.
|
|
||||||
*/
|
|
||||||
#ifdef __NR_rt_sigaction
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
|
|
||||||
#else
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
|
|
||||||
#if defined(__NR_socket) && defined(__NR_connect)
|
|
||||||
# define USE_OLD_SOCKETCALL 0
|
|
||||||
#else
|
|
||||||
# define USE_OLD_SOCKETCALL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* stub out the __NR_'s so we can let gcc optimize away dead code */
|
|
||||||
#ifndef __NR_socketcall
|
|
||||||
# define __NR_socketcall 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_socket
|
|
||||||
# define __NR_socket 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_connect
|
|
||||||
# define __NR_connect 0
|
|
||||||
#endif
|
|
||||||
#define DO_SOCKET(result, domain, type, protocol) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = domain; \
|
|
||||||
socketargs[1] = type; \
|
|
||||||
socketargs[2] = protocol; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
|
|
||||||
} while (0)
|
|
||||||
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = sockfd; \
|
|
||||||
socketargs[1] = (unsigned long int)serv_addr; \
|
|
||||||
socketargs[2] = addrlen; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#ifndef _PATH_LOG
|
|
||||||
# define _PATH_LOG "/dev/log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char path_log[] = _PATH_LOG;
|
|
||||||
|
|
||||||
/* For building glibc with SSP switched on, define __progname to a
|
|
||||||
* constant if building for the run-time loader, to avoid pulling
|
|
||||||
* in more of libc.so into ld.so
|
|
||||||
*/
|
|
||||||
#ifdef IS_IN_rtld
|
|
||||||
static char *__progname = "<rtld>";
|
|
||||||
#else
|
|
||||||
extern char *__progname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Common handler code, used by chk_fail
|
|
||||||
* Inlined to ensure no self-references to the handler within itself.
|
|
||||||
* Data static to avoid putting more than necessary on the stack,
|
|
||||||
* to aid core debugging.
|
|
||||||
*/
|
|
||||||
__attribute__ ((__noreturn__ , __always_inline__))
|
|
||||||
static inline void
|
|
||||||
__hardened_gentoo_chk_fail(char func[], int damaged)
|
|
||||||
{
|
|
||||||
#define MESSAGE_BUFSIZ 256
|
|
||||||
static pid_t pid;
|
|
||||||
static int plen, i;
|
|
||||||
static char message[MESSAGE_BUFSIZ];
|
|
||||||
static const char msg_ssa[] = ": buffer overflow attack";
|
|
||||||
static const char msg_inf[] = " in function ";
|
|
||||||
static const char msg_ssd[] = "*** buffer overflow detected ***: ";
|
|
||||||
static const char msg_terminated[] = " - terminated\n";
|
|
||||||
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
|
|
||||||
static const char msg_unknown[] = "<unknown>";
|
|
||||||
static int log_socket, connect_result;
|
|
||||||
static struct sockaddr_un sock;
|
|
||||||
static unsigned long int socketargs[4];
|
|
||||||
|
|
||||||
/* Build socket address
|
|
||||||
*/
|
|
||||||
sock.sun_family = AF_UNIX;
|
|
||||||
i = 0;
|
|
||||||
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
|
|
||||||
sock.sun_path[i] = path_log[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
sock.sun_path[i] = '\0';
|
|
||||||
|
|
||||||
/* Try SOCK_DGRAM connection to syslog */
|
|
||||||
connect_result = -1;
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
if (connect_result == -1) {
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
/* Try SOCK_STREAM connection to syslog */
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build message. Messages are generated both in the old style and new style,
|
|
||||||
* so that log watchers that are configured for the old-style message continue
|
|
||||||
* to work.
|
|
||||||
*/
|
|
||||||
#define strconcat(str) \
|
|
||||||
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
|
|
||||||
{\
|
|
||||||
message[plen+i]=str[i];\
|
|
||||||
i++;\
|
|
||||||
}\
|
|
||||||
plen+=i;}
|
|
||||||
|
|
||||||
/* R.Henderson post-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
strconcat(msg_ssd);
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Dr. Etoh pre-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_ssa);
|
|
||||||
strconcat(msg_inf);
|
|
||||||
if (func != NULL)
|
|
||||||
strconcat(func)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Direct reports to bugs.gentoo.org */
|
|
||||||
plen=0;
|
|
||||||
strconcat(msg_report);
|
|
||||||
message[plen++]='\0';
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
|
|
||||||
/* Suicide */
|
|
||||||
pid = INLINE_SYSCALL(getpid, 0);
|
|
||||||
|
|
||||||
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
|
|
||||||
static struct sigaction default_abort_act;
|
|
||||||
/* Remove any user-supplied handler for SIGABRT, before using it */
|
|
||||||
default_abort_act.sa_handler = SIG_DFL;
|
|
||||||
default_abort_act.sa_sigaction = NULL;
|
|
||||||
__sigfillset(&default_abort_act.sa_mask);
|
|
||||||
default_abort_act.sa_flags = 0;
|
|
||||||
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Note; actions cannot be added to SIGKILL */
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
|
|
||||||
|
|
||||||
/* In case the kill didn't work, exit anyway
|
|
||||||
* The loop prevents gcc thinking this routine returns
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
INLINE_SYSCALL(exit, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __chk_fail(void)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_chk_fail(NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
Prevent default-fPIE from confusing configure into thinking
|
|
||||||
PIC code is default. This causes glibc to build both PIC and
|
|
||||||
non-PIC code as normal, which on the hardened compiler generates
|
|
||||||
PIC and PIE.
|
|
||||||
|
|
||||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
|
||||||
Fixed for glibc 2.10 by Magnus Granberg <zorry@ume.nu>
|
|
||||||
|
|
||||||
--- configure.in
|
|
||||||
+++ configure.in
|
|
||||||
@@ -2145,7 +2145,7 @@
|
|
||||||
# error PIC is default.
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
-if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
|
|
||||||
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
|
|
||||||
libc_cv_pic_default=no
|
|
||||||
fi
|
|
||||||
rm -f conftest.*])
|
|
||||||
--- configure
|
|
||||||
+++ configure
|
|
||||||
@@ -7698,7 +7698,7 @@
|
|
||||||
# error PIC is default.
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
-if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
|
|
||||||
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&5 1>&5"; then
|
|
||||||
libc_cv_pic_default=no
|
|
||||||
fi
|
|
||||||
rm -f conftest.*
|
|
@ -1,274 +0,0 @@
|
|||||||
When building glibc PIE (which is not something upstream support),
|
|
||||||
several modifications are necessary to the glibc build process.
|
|
||||||
|
|
||||||
First, any syscalls in PIEs must be of the PIC variant, otherwise
|
|
||||||
textrels ensue. Then, any syscalls made before the initialisation
|
|
||||||
of the TLS will fail on i386, as the sysenter variant on i386 uses
|
|
||||||
the TLS, giving rise to a chicken-and-egg situation. This patch
|
|
||||||
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
|
|
||||||
version is normally used, and uses the non-sysenter version for the brk
|
|
||||||
syscall that is performed by the TLS initialisation. Further, the TLS
|
|
||||||
initialisation is moved in this case prior to the initialisation of
|
|
||||||
dl_osversion, as that requires further syscalls.
|
|
||||||
|
|
||||||
csu/libc-start.c: Move initial TLS initialization to before the
|
|
||||||
initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined
|
|
||||||
|
|
||||||
csu/libc-tls.c: Use the no-sysenter version of sbrk when
|
|
||||||
INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
|
|
||||||
version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
misc/brk.c: Define a no-sysenter version of brk if
|
|
||||||
INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
|
|
||||||
|
|
||||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
|
||||||
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
|
|
||||||
|
|
||||||
--- csu/libc-start.c
|
|
||||||
+++ csu/libc-start.c
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
extern int __libc_multiple_libcs;
|
|
||||||
|
|
||||||
#include <tls.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
#ifndef SHARED
|
|
||||||
# include <dl-osinfo.h>
|
|
||||||
extern void __pthread_initialize_minimal (void);
|
|
||||||
@@ -129,6 +130,11 @@
|
|
||||||
# endif
|
|
||||||
_dl_aux_init (auxvec);
|
|
||||||
# endif
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ /* Do the initial TLS initialization before _dl_osversion,
|
|
||||||
+ since the latter uses the uname syscall. */
|
|
||||||
+ __pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
# ifdef DL_SYSDEP_OSCHECK
|
|
||||||
if (!__libc_multiple_libcs)
|
|
||||||
{
|
|
||||||
@@ -138,10 +144,12 @@
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
+# ifndef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
/* Initialize the thread library at least a bit since the libgcc
|
|
||||||
functions are using thread functions if these are available and
|
|
||||||
we need to setup errno. */
|
|
||||||
__pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
|
|
||||||
/* Set up the stack checker's canary. */
|
|
||||||
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
|
|
||||||
--- csu/libc-tls.c
|
|
||||||
+++ csu/libc-tls.c
|
|
||||||
@@ -23,6 +23,7 @@
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
@@ -29,6 +30,9 @@
|
|
||||||
#error makefile bug, this file is for static only
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+extern void *__sbrk_nosysenter (intptr_t __delta);
|
|
||||||
+#endif
|
|
||||||
extern ElfW(Phdr) *_dl_phdr;
|
|
||||||
extern size_t _dl_phnum;
|
|
||||||
|
|
||||||
@@ -141,14 +145,26 @@
|
|
||||||
|
|
||||||
The initialized value of _dl_tls_static_size is provided by dl-open.c
|
|
||||||
to request some surplus that permits dynamic loading of modules with
|
|
||||||
- IE-model TLS. */
|
|
||||||
+ IE-model TLS.
|
|
||||||
+
|
|
||||||
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
|
|
||||||
+ use the special non-sysenter version instead. */
|
|
||||||
#if TLS_TCB_AT_TP
|
|
||||||
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align);
|
|
||||||
+# else
|
|
||||||
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
|
|
||||||
+# endif
|
|
||||||
#elif TLS_DTV_AT_TP
|
|
||||||
tcb_offset = roundup (tcbsize, align ?: 1);
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align
|
|
||||||
+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
|
|
||||||
+# else
|
|
||||||
tlsblock = __sbrk (tcb_offset + memsz + max_align
|
|
||||||
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
|
|
||||||
+# endif
|
|
||||||
tlsblock += TLS_PRE_TCB_SIZE;
|
|
||||||
#else
|
|
||||||
/* In case a model with a different layout for the TCB and DTV
|
|
||||||
--- misc/sbrk.c
|
|
||||||
+++ misc/sbrk.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
/* Defined in brk.c. */
|
|
||||||
extern void *__curbrk;
|
|
||||||
@@ -29,6 +30,35 @@
|
|
||||||
/* Extend the process's data space by INCREMENT.
|
|
||||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
|
||||||
Return start of new space allocated, or -1 for errors. */
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+extern int __brk_nosysenter (void *addr);
|
|
||||||
+void *
|
|
||||||
+__sbrk_nosysenter (intptr_t increment)
|
|
||||||
+{
|
|
||||||
+ void *oldbrk;
|
|
||||||
+
|
|
||||||
+ /* If this is not part of the dynamic library or the library is used
|
|
||||||
+ via dynamic loading in a statically linked program update
|
|
||||||
+ __curbrk from the kernel's brk value. That way two separate
|
|
||||||
+ instances of __brk and __sbrk can share the heap, returning
|
|
||||||
+ interleaved pieces of it. */
|
|
||||||
+ if (__curbrk == NULL || __libc_multiple_libcs)
|
|
||||||
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ if (increment == 0)
|
|
||||||
+ return __curbrk;
|
|
||||||
+
|
|
||||||
+ oldbrk = __curbrk;
|
|
||||||
+ if (__brk_nosysenter (oldbrk + increment) < 0)
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ return oldbrk;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
void *
|
|
||||||
__sbrk (intptr_t increment)
|
|
||||||
{
|
|
||||||
--- sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
+++ sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
@@ -31,6 +31,30 @@
|
|
||||||
linker. */
|
|
||||||
weak_alias (__curbrk, ___brk_addr)
|
|
||||||
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ * if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ * Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+int
|
|
||||||
+__brk_nosysenter (void *addr)
|
|
||||||
+{
|
|
||||||
+ void *__unbounded newbrk;
|
|
||||||
+
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ newbrk = (void *__unbounded) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1,
|
|
||||||
+ __ptrvalue (addr));
|
|
||||||
+
|
|
||||||
+ __curbrk = newbrk;
|
|
||||||
+
|
|
||||||
+ if (newbrk < addr)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENOMEM);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
int
|
|
||||||
__brk (void *addr)
|
|
||||||
{
|
|
||||||
--- sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
+++ sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
@@ -187,7 +187,7 @@
|
|
||||||
/* The original calling convention for system calls on Linux/i386 is
|
|
||||||
to use int $0x80. */
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# if defined SHARED || defined __PIC__
|
|
||||||
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
|
|
||||||
# else
|
|
||||||
# define ENTER_KERNEL call *_dl_sysinfo
|
|
||||||
@@ -358,7 +358,7 @@
|
|
||||||
possible to use more than four parameters. */
|
|
||||||
#undef INTERNAL_SYSCALL
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# if defined SHARED || defined __PIC__
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
register unsigned int resultvar; \
|
|
||||||
@@ -384,6 +384,18 @@
|
|
||||||
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
|
|
||||||
ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
(int) resultvar; })
|
|
||||||
+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \
|
|
||||||
+ ({ \
|
|
||||||
+ register unsigned int resultvar; \
|
|
||||||
+ EXTRAVAR_##nr \
|
|
||||||
+ asm volatile ( \
|
|
||||||
+ LOADARGS_NOSYSENTER_##nr \
|
|
||||||
+ "movl %1, %%eax\n\t" \
|
|
||||||
+ "int $0x80\n\t" \
|
|
||||||
+ RESTOREARGS_NOSYSENTER_##nr \
|
|
||||||
+ : "=a" (resultvar) \
|
|
||||||
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
+ (int) resultvar; })
|
|
||||||
# else
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
@@ -447,12 +459,20 @@
|
|
||||||
|
|
||||||
#define LOADARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k3, %k3\n\t"
|
|
||||||
# define LOADARGS_5 \
|
|
||||||
"movl %%ebx, %4\n\t" \
|
|
||||||
"movl %3, %%ebx\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
|
|
||||||
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %%ebx, %3\n\t" \
|
|
||||||
+ "movl %2, %%ebx\n\t"
|
|
||||||
# else
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
@@ -474,11 +495,18 @@
|
|
||||||
|
|
||||||
#define RESTOREARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k3, %k3\n\t"
|
|
||||||
# define RESTOREARGS_5 \
|
|
||||||
"movl %4, %%ebx"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpopl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %3, %%ebx"
|
|
||||||
# else
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k2, %k2\n\t"
|
|
@ -1,42 +0,0 @@
|
|||||||
2012-11-11 Magnus Granberg <zorry@gentoo.org>
|
|
||||||
|
|
||||||
#442712
|
|
||||||
* Makeconfig (+link): Set to +link-pie.
|
|
||||||
(+link-static-before-libc): Change $(static-start-installed-name) to
|
|
||||||
S$(static-start-installed-name).
|
|
||||||
(+prector): Set to +prectorS.
|
|
||||||
(+postctor): Set to +postctorS.
|
|
||||||
|
|
||||||
--- libc/Makeconfig
|
|
||||||
+++ libc/Makeconfig
|
|
||||||
@@ -447,11 +447,12 @@
|
|
||||||
$(common-objpfx)libc% $(+postinit),$^) \
|
|
||||||
$(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit)
|
|
||||||
endif
|
|
||||||
++link = $(+link-pie)
|
|
||||||
# Command for statically linking programs with the C library.
|
|
||||||
ifndef +link-static
|
|
||||||
+link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
|
|
||||||
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
|
||||||
- $(addprefix $(csu-objpfx),$(static-start-installed-name)) \
|
|
||||||
+ $(addprefix $(csu-objpfx),S$(static-start-installed-name)) \
|
|
||||||
$(+preinit) $(+prectorT) \
|
|
||||||
$(filter-out $(addprefix $(csu-objpfx),start.o \
|
|
||||||
$(start-installed-name))\
|
|
||||||
@@ -549,11 +550,10 @@
|
|
||||||
ifeq ($(elf),yes)
|
|
||||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
|
||||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
|
||||||
-+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
|
|
||||||
-+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
|
||||||
-# Variants of the two previous definitions for linking PIE programs.
|
|
||||||
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
|
|
||||||
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
|
|
||||||
++prector = $(+prectorS)
|
|
||||||
++postctor = $(+postctorS)
|
|
||||||
# Variants of the two previous definitions for statically linking programs.
|
|
||||||
+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
|
||||||
+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
|
||||||
+interp = $(addprefix $(elf-objpfx),interp.os)
|
|
||||||
endif
|
|
||||||
csu-objpfx = $(common-objpfx)csu/
|
|
@ -1,314 +0,0 @@
|
|||||||
/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
/* Copyright (C) 2006-2013 Gentoo Foundation Inc.
|
|
||||||
* License terms as above.
|
|
||||||
*
|
|
||||||
* Hardened Gentoo SSP and FORTIFY handler
|
|
||||||
*
|
|
||||||
* An SSP failure handler that does not use functions from the rest of
|
|
||||||
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
|
|
||||||
* no possibility of recursion into the handler.
|
|
||||||
*
|
|
||||||
* Direct all bug reports to http://bugs.gentoo.org/
|
|
||||||
*
|
|
||||||
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
|
|
||||||
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
|
|
||||||
*
|
|
||||||
* The following people contributed to the glibc-2.3 Hardened
|
|
||||||
* Gentoo SSP and FORTIFY handler, from which this implementation draws much:
|
|
||||||
*
|
|
||||||
* Ned Ludd - <solar[@]gentoo.org>
|
|
||||||
* Alexander Gabert - <pappy[@]gentoo.org>
|
|
||||||
* The PaX Team - <pageexec[@]freemail.hu>
|
|
||||||
* Peter S. Mazinger - <ps.m[@]gmx.net>
|
|
||||||
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
|
|
||||||
* Robert Connolly - <robert[@]linuxfromscratch.org>
|
|
||||||
* Cory Visi <cory[@]visi.name>
|
|
||||||
* Mike Frysinger <vapier[@]gentoo.org>
|
|
||||||
* Magnus Granberg <zorry[@]ume.nu>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include <sysdep-cancel.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#include <alloca.h>
|
|
||||||
/* from sysdeps */
|
|
||||||
#include <socketcall.h>
|
|
||||||
/* for the stuff in bits/socket.h */
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
|
|
||||||
/* Sanity check on SYSCALL macro names - force compilation
|
|
||||||
* failure if the names used here do not exist
|
|
||||||
*/
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_socket
|
|
||||||
# error Cannot do syscall socket or socketcall
|
|
||||||
#endif
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_connect
|
|
||||||
# error Cannot do syscall connect or socketcall
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_write
|
|
||||||
# error Cannot do syscall write
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_close
|
|
||||||
# error Cannot do syscall close
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_getpid
|
|
||||||
# error Cannot do syscall getpid
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_kill
|
|
||||||
# error Cannot do syscall kill
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_exit
|
|
||||||
# error Cannot do syscall exit
|
|
||||||
#endif
|
|
||||||
#ifdef SSP_SMASH_DUMPS_CORE
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
|
|
||||||
# if !defined _KERNEL_NSIG && !defined _NSIG
|
|
||||||
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
|
|
||||||
# endif
|
|
||||||
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
|
|
||||||
# error Cannot do syscall sigaction or rt_sigaction
|
|
||||||
# endif
|
|
||||||
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
|
|
||||||
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
|
|
||||||
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
|
|
||||||
* some reason.
|
|
||||||
*/
|
|
||||||
# ifdef _KERNEL_NSIG
|
|
||||||
# define _SSP_NSIG _KERNEL_NSIG
|
|
||||||
# else
|
|
||||||
# define _SSP_NSIG _NSIG
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define _SSP_NSIG 0
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SIGACTION - default to newer rt signal interface but
|
|
||||||
* fallback to old as needed.
|
|
||||||
*/
|
|
||||||
#ifdef __NR_rt_sigaction
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
|
|
||||||
#else
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
|
|
||||||
#if defined(__NR_socket) && defined(__NR_connect)
|
|
||||||
# define USE_OLD_SOCKETCALL 0
|
|
||||||
#else
|
|
||||||
# define USE_OLD_SOCKETCALL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* stub out the __NR_'s so we can let gcc optimize away dead code */
|
|
||||||
#ifndef __NR_socketcall
|
|
||||||
# define __NR_socketcall 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_socket
|
|
||||||
# define __NR_socket 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_connect
|
|
||||||
# define __NR_connect 0
|
|
||||||
#endif
|
|
||||||
#define DO_SOCKET(result, domain, type, protocol) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = domain; \
|
|
||||||
socketargs[1] = type; \
|
|
||||||
socketargs[2] = protocol; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
|
|
||||||
} while (0)
|
|
||||||
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = sockfd; \
|
|
||||||
socketargs[1] = (unsigned long int)serv_addr; \
|
|
||||||
socketargs[2] = addrlen; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#ifndef _PATH_LOG
|
|
||||||
# define _PATH_LOG "/dev/log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char path_log[] = _PATH_LOG;
|
|
||||||
|
|
||||||
/* For building glibc with SSP switched on, define __progname to a
|
|
||||||
* constant if building for the run-time loader, to avoid pulling
|
|
||||||
* in more of libc.so into ld.so
|
|
||||||
*/
|
|
||||||
#ifdef IS_IN_rtld
|
|
||||||
static char *__progname = "<rtld>";
|
|
||||||
#else
|
|
||||||
extern char *__progname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Common handler code, used by chk_fail
|
|
||||||
* Inlined to ensure no self-references to the handler within itself.
|
|
||||||
* Data static to avoid putting more than necessary on the stack,
|
|
||||||
* to aid core debugging.
|
|
||||||
*/
|
|
||||||
__attribute__ ((__noreturn__ , __always_inline__))
|
|
||||||
static inline void
|
|
||||||
__hardened_gentoo_chk_fail(char func[], int damaged)
|
|
||||||
{
|
|
||||||
#define MESSAGE_BUFSIZ 256
|
|
||||||
static pid_t pid;
|
|
||||||
static int plen, i;
|
|
||||||
static char message[MESSAGE_BUFSIZ];
|
|
||||||
static const char msg_ssa[] = ": buffer overflow attack";
|
|
||||||
static const char msg_inf[] = " in function ";
|
|
||||||
static const char msg_ssd[] = "*** buffer overflow detected ***: ";
|
|
||||||
static const char msg_terminated[] = " - terminated\n";
|
|
||||||
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
|
|
||||||
static const char msg_unknown[] = "<unknown>";
|
|
||||||
static int log_socket, connect_result;
|
|
||||||
static struct sockaddr_un sock;
|
|
||||||
static unsigned long int socketargs[4];
|
|
||||||
|
|
||||||
/* Build socket address
|
|
||||||
*/
|
|
||||||
sock.sun_family = AF_UNIX;
|
|
||||||
i = 0;
|
|
||||||
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
|
|
||||||
sock.sun_path[i] = path_log[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
sock.sun_path[i] = '\0';
|
|
||||||
|
|
||||||
/* Try SOCK_DGRAM connection to syslog */
|
|
||||||
connect_result = -1;
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
if (connect_result == -1) {
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
/* Try SOCK_STREAM connection to syslog */
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build message. Messages are generated both in the old style and new style,
|
|
||||||
* so that log watchers that are configured for the old-style message continue
|
|
||||||
* to work.
|
|
||||||
*/
|
|
||||||
#define strconcat(str) \
|
|
||||||
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
|
|
||||||
{\
|
|
||||||
message[plen+i]=str[i];\
|
|
||||||
i++;\
|
|
||||||
}\
|
|
||||||
plen+=i;}
|
|
||||||
|
|
||||||
/* R.Henderson post-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
strconcat(msg_ssd);
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Dr. Etoh pre-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_ssa);
|
|
||||||
strconcat(msg_inf);
|
|
||||||
if (func != NULL)
|
|
||||||
strconcat(func)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Direct reports to bugs.gentoo.org */
|
|
||||||
plen=0;
|
|
||||||
strconcat(msg_report);
|
|
||||||
message[plen++]='\0';
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
|
|
||||||
/* Suicide */
|
|
||||||
pid = INLINE_SYSCALL(getpid, 0);
|
|
||||||
|
|
||||||
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
|
|
||||||
static struct sigaction default_abort_act;
|
|
||||||
/* Remove any user-supplied handler for SIGABRT, before using it */
|
|
||||||
default_abort_act.sa_handler = SIG_DFL;
|
|
||||||
default_abort_act.sa_sigaction = NULL;
|
|
||||||
__sigfillset(&default_abort_act.sa_mask);
|
|
||||||
default_abort_act.sa_flags = 0;
|
|
||||||
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Note; actions cannot be added to SIGKILL */
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
|
|
||||||
|
|
||||||
/* In case the kill didn't work, exit anyway
|
|
||||||
* The loop prevents gcc thinking this routine returns
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
INLINE_SYSCALL(exit, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __chk_fail(void)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_chk_fail(NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
@ -1,322 +0,0 @@
|
|||||||
/* Copyright (C) 2005 Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
/* Copyright (C) 2006-2013 Gentoo Foundation Inc.
|
|
||||||
* License terms as above.
|
|
||||||
*
|
|
||||||
* Hardened Gentoo SSP handler
|
|
||||||
*
|
|
||||||
* An SSP failure handler that does not use functions from the rest of
|
|
||||||
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
|
|
||||||
* no possibility of recursion into the handler.
|
|
||||||
*
|
|
||||||
* Direct all bug reports to http://bugs.gentoo.org/
|
|
||||||
*
|
|
||||||
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
|
|
||||||
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
|
|
||||||
*
|
|
||||||
* Fixed to support glibc-2.18 by Magnus Granberg - <zorry[@]gentoo.org>
|
|
||||||
*
|
|
||||||
* The following people contributed to the glibc-2.3 Hardened
|
|
||||||
* Gentoo SSP handler, from which this implementation draws much:
|
|
||||||
*
|
|
||||||
* Ned Ludd - <solar[@]gentoo.org>
|
|
||||||
* Alexander Gabert - <pappy[@]gentoo.org>
|
|
||||||
* The PaX Team - <pageexec[@]freemail.hu>
|
|
||||||
* Peter S. Mazinger - <ps.m[@]gmx.net>
|
|
||||||
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
|
|
||||||
* Robert Connolly - <robert[@]linuxfromscratch.org>
|
|
||||||
* Cory Visi <cory[@]visi.name>
|
|
||||||
* Mike Frysinger <vapier[@]gentoo.org>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include <sysdep-cancel.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#include <alloca.h>
|
|
||||||
/* from sysdeps */
|
|
||||||
#include <socketcall.h>
|
|
||||||
/* for the stuff in bits/socket.h */
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* Sanity check on SYSCALL macro names - force compilation
|
|
||||||
* failure if the names used here do not exist
|
|
||||||
*/
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_socket
|
|
||||||
# error Cannot do syscall socket or socketcall
|
|
||||||
#endif
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_connect
|
|
||||||
# error Cannot do syscall connect or socketcall
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_write
|
|
||||||
# error Cannot do syscall write
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_close
|
|
||||||
# error Cannot do syscall close
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_getpid
|
|
||||||
# error Cannot do syscall getpid
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_kill
|
|
||||||
# error Cannot do syscall kill
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_exit
|
|
||||||
# error Cannot do syscall exit
|
|
||||||
#endif
|
|
||||||
#ifdef SSP_SMASH_DUMPS_CORE
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
|
|
||||||
# if !defined _KERNEL_NSIG && !defined _NSIG
|
|
||||||
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
|
|
||||||
# endif
|
|
||||||
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
|
|
||||||
# error Cannot do syscall sigaction or rt_sigaction
|
|
||||||
# endif
|
|
||||||
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
|
|
||||||
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
|
|
||||||
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
|
|
||||||
* some reason.
|
|
||||||
*/
|
|
||||||
# ifdef _KERNEL_NSIG
|
|
||||||
# define _SSP_NSIG _KERNEL_NSIG
|
|
||||||
# else
|
|
||||||
# define _SSP_NSIG _NSIG
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define _SSP_NSIG 0
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SIGACTION - default to newer rt signal interface but
|
|
||||||
* fallback to old as needed.
|
|
||||||
*/
|
|
||||||
#ifdef __NR_rt_sigaction
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
|
|
||||||
#else
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
|
|
||||||
#if defined(__NR_socket) && defined(__NR_connect)
|
|
||||||
# define USE_OLD_SOCKETCALL 0
|
|
||||||
#else
|
|
||||||
# define USE_OLD_SOCKETCALL 1
|
|
||||||
#endif
|
|
||||||
/* stub out the __NR_'s so we can let gcc optimize away dead code */
|
|
||||||
#ifndef __NR_socketcall
|
|
||||||
# define __NR_socketcall 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_socket
|
|
||||||
# define __NR_socket 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_connect
|
|
||||||
# define __NR_connect 0
|
|
||||||
#endif
|
|
||||||
#define DO_SOCKET(result, domain, type, protocol) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = domain; \
|
|
||||||
socketargs[1] = type; \
|
|
||||||
socketargs[2] = protocol; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
|
|
||||||
} while (0)
|
|
||||||
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = sockfd; \
|
|
||||||
socketargs[1] = (unsigned long int)serv_addr; \
|
|
||||||
socketargs[2] = addrlen; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#ifndef _PATH_LOG
|
|
||||||
# define _PATH_LOG "/dev/log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char path_log[] = _PATH_LOG;
|
|
||||||
|
|
||||||
/* For building glibc with SSP switched on, define __progname to a
|
|
||||||
* constant if building for the run-time loader, to avoid pulling
|
|
||||||
* in more of libc.so into ld.so
|
|
||||||
*/
|
|
||||||
#ifdef IS_IN_rtld
|
|
||||||
static char *__progname = "<rtld>";
|
|
||||||
#else
|
|
||||||
extern char *__progname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Common handler code, used by stack_chk_fail and __stack_smash_handler
|
|
||||||
* Inlined to ensure no self-references to the handler within itself.
|
|
||||||
* Data static to avoid putting more than necessary on the stack,
|
|
||||||
* to aid core debugging.
|
|
||||||
*/
|
|
||||||
__attribute__ ((__noreturn__ , __always_inline__))
|
|
||||||
static inline void
|
|
||||||
__hardened_gentoo_stack_chk_fail(char func[], int damaged)
|
|
||||||
{
|
|
||||||
#define MESSAGE_BUFSIZ 256
|
|
||||||
static pid_t pid;
|
|
||||||
static int plen, i;
|
|
||||||
static char message[MESSAGE_BUFSIZ];
|
|
||||||
static const char msg_ssa[] = ": stack smashing attack";
|
|
||||||
static const char msg_inf[] = " in function ";
|
|
||||||
static const char msg_ssd[] = "*** stack smashing detected ***: ";
|
|
||||||
static const char msg_terminated[] = " - terminated\n";
|
|
||||||
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
|
|
||||||
static const char msg_unknown[] = "<unknown>";
|
|
||||||
static int log_socket, connect_result;
|
|
||||||
static struct sockaddr_un sock;
|
|
||||||
static unsigned long int socketargs[4];
|
|
||||||
|
|
||||||
/* Build socket address
|
|
||||||
*/
|
|
||||||
sock.sun_family = AF_UNIX;
|
|
||||||
i = 0;
|
|
||||||
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
|
|
||||||
sock.sun_path[i] = path_log[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
sock.sun_path[i] = '\0';
|
|
||||||
|
|
||||||
/* Try SOCK_DGRAM connection to syslog */
|
|
||||||
connect_result = -1;
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
if (connect_result == -1) {
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
/* Try SOCK_STREAM connection to syslog */
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build message. Messages are generated both in the old style and new style,
|
|
||||||
* so that log watchers that are configured for the old-style message continue
|
|
||||||
* to work.
|
|
||||||
*/
|
|
||||||
#define strconcat(str) \
|
|
||||||
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
|
|
||||||
{\
|
|
||||||
message[plen+i]=str[i];\
|
|
||||||
i++;\
|
|
||||||
}\
|
|
||||||
plen+=i;}
|
|
||||||
|
|
||||||
/* R.Henderson post-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
strconcat(msg_ssd);
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Dr. Etoh pre-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_ssa);
|
|
||||||
strconcat(msg_inf);
|
|
||||||
if (func != NULL)
|
|
||||||
strconcat(func)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Direct reports to bugs.gentoo.org */
|
|
||||||
plen=0;
|
|
||||||
strconcat(msg_report);
|
|
||||||
message[plen++]='\0';
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
|
|
||||||
/* Suicide */
|
|
||||||
pid = INLINE_SYSCALL(getpid, 0);
|
|
||||||
|
|
||||||
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
|
|
||||||
static struct sigaction default_abort_act;
|
|
||||||
/* Remove any user-supplied handler for SIGABRT, before using it */
|
|
||||||
default_abort_act.sa_handler = SIG_DFL;
|
|
||||||
default_abort_act.sa_sigaction = NULL;
|
|
||||||
__sigfillset(&default_abort_act.sa_mask);
|
|
||||||
default_abort_act.sa_flags = 0;
|
|
||||||
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Note; actions cannot be added to SIGKILL */
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
|
|
||||||
|
|
||||||
/* In case the kill didn't work, exit anyway
|
|
||||||
* The loop prevents gcc thinking this routine returns
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
INLINE_SYSCALL(exit, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __stack_chk_fail(void)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_stack_chk_fail(NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef ENABLE_OLD_SSP_COMPAT
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __stack_smash_handler(char func[], int damaged)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_stack_chk_fail(func, damaged);
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -1,277 +0,0 @@
|
|||||||
When building glibc PIE (which is not something upstream support),
|
|
||||||
several modifications are necessary to the glibc build process.
|
|
||||||
|
|
||||||
First, any syscalls in PIEs must be of the PIC variant, otherwise
|
|
||||||
textrels ensue. Then, any syscalls made before the initialisation
|
|
||||||
of the TLS will fail on i386, as the sysenter variant on i386 uses
|
|
||||||
the TLS, giving rise to a chicken-and-egg situation. This patch
|
|
||||||
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
|
|
||||||
version is normally used, and uses the non-sysenter version for the brk
|
|
||||||
syscall that is performed by the TLS initialisation. Further, the TLS
|
|
||||||
initialisation is moved in this case prior to the initialisation of
|
|
||||||
dl_osversion, as that requires further syscalls.
|
|
||||||
|
|
||||||
csu/libc-start.c: Move initial TLS initialization to before the
|
|
||||||
initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined
|
|
||||||
|
|
||||||
csu/libc-tls.c: Use the no-sysenter version of sbrk when
|
|
||||||
INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
|
|
||||||
version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
misc/brk.c: Define a no-sysenter version of brk if
|
|
||||||
INTERNAL_SYSCALL_NOSYSENTER is defined.
|
|
||||||
|
|
||||||
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
|
|
||||||
|
|
||||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
|
||||||
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
|
|
||||||
Fixed for 2.18 by Magnus Granberg <zorry@gentoo.org>
|
|
||||||
|
|
||||||
--- csu/libc-start.c
|
|
||||||
+++ csu/libc-start.c
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
extern int __libc_multiple_libcs;
|
|
||||||
|
|
||||||
#include <tls.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
#ifndef SHARED
|
|
||||||
# include <dl-osinfo.h>
|
|
||||||
extern void __pthread_initialize_minimal (void);
|
|
||||||
@@ -170,7 +170,11 @@ LIBC_START_MAIN (int (*main) (int, char
|
|
||||||
GL(dl_phnum) = __ehdr_start.e_phnum;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ /* Do the initial TLS initialization before _dl_osversion,
|
|
||||||
+ since the latter uses the uname syscall. */
|
|
||||||
+ __pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
# ifdef DL_SYSDEP_OSCHECK
|
|
||||||
if (!__libc_multiple_libcs)
|
|
||||||
{
|
|
||||||
@@ -138,10 +144,12 @@
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
+# ifndef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
/* Initialize the thread library at least a bit since the libgcc
|
|
||||||
functions are using thread functions if these are available and
|
|
||||||
we need to setup errno. */
|
|
||||||
__pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
|
|
||||||
/* Set up the stack checker's canary. */
|
|
||||||
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
|
|
||||||
--- csu/libc-tls.c
|
|
||||||
+++ csu/libc-tls.c
|
|
||||||
@@ -22,14 +22,17 @@
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
-
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
#error makefile bug, this file is for static only
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+extern void *__sbrk_nosysenter (intptr_t __delta);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
|
|
||||||
|
|
||||||
static struct
|
|
||||||
{
|
|
||||||
@@ -139,14 +142,26 @@ __libc_setup_tls (size_t tcbsize, size_t
|
|
||||||
|
|
||||||
The initialized value of _dl_tls_static_size is provided by dl-open.c
|
|
||||||
to request some surplus that permits dynamic loading of modules with
|
|
||||||
- IE-model TLS. */
|
|
||||||
+ IE-model TLS.
|
|
||||||
+
|
|
||||||
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
|
|
||||||
+ use the special non-sysenter version instead. */
|
|
||||||
#if TLS_TCB_AT_TP
|
|
||||||
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align);
|
|
||||||
+# else
|
|
||||||
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
|
|
||||||
+#endif
|
|
||||||
#elif TLS_DTV_AT_TP
|
|
||||||
tcb_offset = roundup (tcbsize, align ?: 1);
|
|
||||||
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align
|
|
||||||
+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
|
|
||||||
+# else
|
|
||||||
tlsblock = __sbrk (tcb_offset + memsz + max_align
|
|
||||||
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
|
|
||||||
+#endif
|
|
||||||
tlsblock += TLS_PRE_TCB_SIZE;
|
|
||||||
#else
|
|
||||||
/* In case a model with a different layout for the TCB and DTV
|
|
||||||
--- misc/sbrk.c
|
|
||||||
+++ misc/sbrk.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
/* Defined in brk.c. */
|
|
||||||
extern void *__curbrk;
|
|
||||||
@@ -29,6 +30,35 @@
|
|
||||||
/* Extend the process's data space by INCREMENT.
|
|
||||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
|
||||||
Return start of new space allocated, or -1 for errors. */
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+extern int __brk_nosysenter (void *addr);
|
|
||||||
+void *
|
|
||||||
+__sbrk_nosysenter (intptr_t increment)
|
|
||||||
+{
|
|
||||||
+ void *oldbrk;
|
|
||||||
+
|
|
||||||
+ /* If this is not part of the dynamic library or the library is used
|
|
||||||
+ via dynamic loading in a statically linked program update
|
|
||||||
+ __curbrk from the kernel's brk value. That way two separate
|
|
||||||
+ instances of __brk and __sbrk can share the heap, returning
|
|
||||||
+ interleaved pieces of it. */
|
|
||||||
+ if (__curbrk == NULL || __libc_multiple_libcs)
|
|
||||||
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ if (increment == 0)
|
|
||||||
+ return __curbrk;
|
|
||||||
+
|
|
||||||
+ oldbrk = __curbrk;
|
|
||||||
+ if (__brk_nosysenter (oldbrk + increment) < 0)
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ return oldbrk;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
void *
|
|
||||||
__sbrk (intptr_t increment)
|
|
||||||
{
|
|
||||||
--- sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
+++ sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
@@ -31,6 +31,29 @@
|
|
||||||
linker. */
|
|
||||||
weak_alias (__curbrk, ___brk_addr)
|
|
||||||
|
|
||||||
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ * if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ * Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+int
|
|
||||||
+__brk_nosysenter (void *addr)
|
|
||||||
+{
|
|
||||||
+ void * newbrk;
|
|
||||||
+
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ newbrk = (void *) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1, addr);
|
|
||||||
+
|
|
||||||
+ __curbrk = newbrk;
|
|
||||||
+
|
|
||||||
+ if (newbrk < addr)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENOMEM);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
int
|
|
||||||
__brk (void *addr)
|
|
||||||
{
|
|
||||||
--- sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
+++ sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
@@ -187,7 +187,7 @@
|
|
||||||
/* The original calling convention for system calls on Linux/i386 is
|
|
||||||
to use int $0x80. */
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# if defined SHARED || defined __PIC__
|
|
||||||
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
|
|
||||||
# else
|
|
||||||
# define ENTER_KERNEL call *_dl_sysinfo
|
|
||||||
@@ -358,7 +358,7 @@
|
|
||||||
possible to use more than four parameters. */
|
|
||||||
#undef INTERNAL_SYSCALL
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# if defined SHARED || defined __PIC__
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
register unsigned int resultvar; \
|
|
||||||
@@ -384,6 +384,18 @@
|
|
||||||
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
|
|
||||||
ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
(int) resultvar; })
|
|
||||||
+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \
|
|
||||||
+ ({ \
|
|
||||||
+ register unsigned int resultvar; \
|
|
||||||
+ EXTRAVAR_##nr \
|
|
||||||
+ asm volatile ( \
|
|
||||||
+ LOADARGS_NOSYSENTER_##nr \
|
|
||||||
+ "movl %1, %%eax\n\t" \
|
|
||||||
+ "int $0x80\n\t" \
|
|
||||||
+ RESTOREARGS_NOSYSENTER_##nr \
|
|
||||||
+ : "=a" (resultvar) \
|
|
||||||
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
+ (int) resultvar; })
|
|
||||||
# else
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
@@ -447,12 +459,20 @@
|
|
||||||
|
|
||||||
#define LOADARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k3, %k3\n\t"
|
|
||||||
# define LOADARGS_5 \
|
|
||||||
"movl %%ebx, %4\n\t" \
|
|
||||||
"movl %3, %%ebx\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
|
|
||||||
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %%ebx, %3\n\t" \
|
|
||||||
+ "movl %2, %%ebx\n\t"
|
|
||||||
# else
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
@@ -474,11 +495,18 @@
|
|
||||||
|
|
||||||
#define RESTOREARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k3, %k3\n\t"
|
|
||||||
# define RESTOREARGS_5 \
|
|
||||||
"movl %4, %%ebx"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpopl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %3, %%ebx"
|
|
||||||
# else
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k2, %k2\n\t"
|
|
@ -1,30 +0,0 @@
|
|||||||
Prevent default-fPIE from confusing configure into thinking
|
|
||||||
PIC code is default. This causes glibc to build both PIC and
|
|
||||||
non-PIC code as normal, which on the hardened compiler generates
|
|
||||||
PIC and PIE.
|
|
||||||
|
|
||||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
|
||||||
Fixed for glibc 2.19 by Magnus Granberg <zorry@ume.nu>
|
|
||||||
|
|
||||||
--- configure.ac
|
|
||||||
+++ configure.ac
|
|
||||||
@@ -2145,7 +2145,7 @@
|
|
||||||
# error PIC is default.
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
-if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
|
|
||||||
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
|
|
||||||
libc_cv_pic_default=no
|
|
||||||
fi
|
|
||||||
rm -f conftest.*])
|
|
||||||
--- configure
|
|
||||||
+++ configure
|
|
||||||
@@ -7698,7 +7698,7 @@
|
|
||||||
# error PIC is default.
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
-if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
|
|
||||||
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&5 1>&5"; then
|
|
||||||
libc_cv_pic_default=no
|
|
||||||
fi
|
|
||||||
rm -f conftest.*
|
|
@ -1,32 +0,0 @@
|
|||||||
https://bugs.gentoo.org/503838
|
|
||||||
http://gcc.gnu.org/PR60465
|
|
||||||
https://sourceware.org/ml/libc-alpha/2015-12/msg00556.html
|
|
||||||
https://trofi.github.io/posts/189-glibc-on-ia64-or-how-relocations-bootstrap.html
|
|
||||||
|
|
||||||
newer versions of gcc generate relocations in the elf_get_dynamic_info func
|
|
||||||
which glibc relies on to populate some info structs. those structs are then
|
|
||||||
used by ldso to process relocations in itself. glibc requires that there are
|
|
||||||
no relocations until that point (*after* elf_get_dynamic_info), so we end up
|
|
||||||
crashing during elf_get_dynamic_info because the relocation has not yet been
|
|
||||||
processed.
|
|
||||||
|
|
||||||
this hack shuffles the code in a way that tricks gcc into not generating the
|
|
||||||
relocation. we need to figure out something better for upstream.
|
|
||||||
|
|
||||||
--- a/elf/get-dynamic-info.h
|
|
||||||
+++ b/elf/get-dynamic-info.h
|
|
||||||
@@ -66,8 +66,12 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
|
|
||||||
info[DT_VALTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
|
|
||||||
+ DT_VERSIONTAGNUM + DT_EXTRANUM] = dyn;
|
|
||||||
else if ((d_tag_utype) DT_ADDRTAGIDX (dyn->d_tag) < DT_ADDRNUM)
|
|
||||||
- info[DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
|
|
||||||
- + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] = dyn;
|
|
||||||
+ {
|
|
||||||
+ d_tag_utype i =
|
|
||||||
+ DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
|
|
||||||
+ + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM;
|
|
||||||
+ info[i] = dyn;
|
|
||||||
+ }
|
|
||||||
++dyn;
|
|
||||||
}
|
|
||||||
|
|
@ -1,299 +0,0 @@
|
|||||||
/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
|
|
||||||
Copyright (C) 2006-2014 Gentoo Foundation Inc.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
/* Hardened Gentoo SSP and FORTIFY handler
|
|
||||||
|
|
||||||
A failure handler that does not use functions from the rest of glibc;
|
|
||||||
it uses the INTERNAL_SYSCALL methods directly. This helps ensure no
|
|
||||||
possibility of recursion into the handler.
|
|
||||||
|
|
||||||
Direct all bug reports to http://bugs.gentoo.org/
|
|
||||||
|
|
||||||
People who have contributed significantly to the evolution of this file:
|
|
||||||
Ned Ludd - <solar[@]gentoo.org>
|
|
||||||
Alexander Gabert - <pappy[@]gentoo.org>
|
|
||||||
The PaX Team - <pageexec[@]freemail.hu>
|
|
||||||
Peter S. Mazinger - <ps.m[@]gmx.net>
|
|
||||||
Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
|
|
||||||
Robert Connolly - <robert[@]linuxfromscratch.org>
|
|
||||||
Cory Visi <cory[@]visi.name>
|
|
||||||
Mike Frysinger <vapier[@]gentoo.org>
|
|
||||||
Magnus Granberg <zorry[@]gentoo.org>
|
|
||||||
Kevin F. Quinn - <kevquinn[@]gentoo.org>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include <sysdep-cancel.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#include <alloca.h>
|
|
||||||
/* from sysdeps */
|
|
||||||
#include <socketcall.h>
|
|
||||||
/* for the stuff in bits/socket.h */
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
|
|
||||||
/* Sanity check on SYSCALL macro names - force compilation
|
|
||||||
* failure if the names used here do not exist
|
|
||||||
*/
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_socket
|
|
||||||
# error Cannot do syscall socket or socketcall
|
|
||||||
#endif
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_connect
|
|
||||||
# error Cannot do syscall connect or socketcall
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_write
|
|
||||||
# error Cannot do syscall write
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_close
|
|
||||||
# error Cannot do syscall close
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_getpid
|
|
||||||
# error Cannot do syscall getpid
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_kill
|
|
||||||
# error Cannot do syscall kill
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_exit
|
|
||||||
# error Cannot do syscall exit
|
|
||||||
#endif
|
|
||||||
#ifdef SSP_SMASH_DUMPS_CORE
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
|
|
||||||
# if !defined _KERNEL_NSIG && !defined _NSIG
|
|
||||||
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
|
|
||||||
# endif
|
|
||||||
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
|
|
||||||
# error Cannot do syscall sigaction or rt_sigaction
|
|
||||||
# endif
|
|
||||||
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
|
|
||||||
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
|
|
||||||
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
|
|
||||||
* some reason.
|
|
||||||
*/
|
|
||||||
# ifdef _KERNEL_NSIG
|
|
||||||
# define _SSP_NSIG _KERNEL_NSIG
|
|
||||||
# else
|
|
||||||
# define _SSP_NSIG _NSIG
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define _SSP_NSIG 0
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SIGACTION - default to newer rt signal interface but
|
|
||||||
* fallback to old as needed.
|
|
||||||
*/
|
|
||||||
#ifdef __NR_rt_sigaction
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
|
|
||||||
#else
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
|
|
||||||
#if defined(__NR_socket) && defined(__NR_connect)
|
|
||||||
# define USE_OLD_SOCKETCALL 0
|
|
||||||
#else
|
|
||||||
# define USE_OLD_SOCKETCALL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* stub out the __NR_'s so we can let gcc optimize away dead code */
|
|
||||||
#ifndef __NR_socketcall
|
|
||||||
# define __NR_socketcall 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_socket
|
|
||||||
# define __NR_socket 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_connect
|
|
||||||
# define __NR_connect 0
|
|
||||||
#endif
|
|
||||||
#define DO_SOCKET(result, domain, type, protocol) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = domain; \
|
|
||||||
socketargs[1] = type; \
|
|
||||||
socketargs[2] = protocol; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
|
|
||||||
} while (0)
|
|
||||||
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = sockfd; \
|
|
||||||
socketargs[1] = (unsigned long int)serv_addr; \
|
|
||||||
socketargs[2] = addrlen; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#ifndef _PATH_LOG
|
|
||||||
# define _PATH_LOG "/dev/log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char path_log[] = _PATH_LOG;
|
|
||||||
|
|
||||||
/* For building glibc with SSP switched on, define __progname to a
|
|
||||||
* constant if building for the run-time loader, to avoid pulling
|
|
||||||
* in more of libc.so into ld.so
|
|
||||||
*/
|
|
||||||
#ifdef IS_IN_rtld
|
|
||||||
static const char *__progname = "<ldso>";
|
|
||||||
#else
|
|
||||||
extern const char *__progname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef GENTOO_SSP_HANDLER
|
|
||||||
# define ERROR_MSG "stack smashing"
|
|
||||||
#else
|
|
||||||
# define ERROR_MSG "buffer overflow"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Common handler code, used by chk_fail
|
|
||||||
* Inlined to ensure no self-references to the handler within itself.
|
|
||||||
* Data static to avoid putting more than necessary on the stack,
|
|
||||||
* to aid core debugging.
|
|
||||||
*/
|
|
||||||
__attribute__ ((__noreturn__, __always_inline__))
|
|
||||||
static inline void
|
|
||||||
__hardened_gentoo_fail(void)
|
|
||||||
{
|
|
||||||
#define MESSAGE_BUFSIZ 512
|
|
||||||
static pid_t pid;
|
|
||||||
static int plen, i, hlen;
|
|
||||||
static char message[MESSAGE_BUFSIZ];
|
|
||||||
/* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */
|
|
||||||
static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: ";
|
|
||||||
static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: ";
|
|
||||||
static const char msg_terminated[] = " terminated; ";
|
|
||||||
static const char msg_report[] = "report to " REPORT_BUGS_TO "\n";
|
|
||||||
static const char msg_unknown[] = "<unknown>";
|
|
||||||
static int log_socket, connect_result;
|
|
||||||
static struct sockaddr_un sock;
|
|
||||||
static unsigned long int socketargs[4];
|
|
||||||
|
|
||||||
/* Build socket address */
|
|
||||||
sock.sun_family = AF_UNIX;
|
|
||||||
i = 0;
|
|
||||||
while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) {
|
|
||||||
sock.sun_path[i] = path_log[i];
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
sock.sun_path[i] = '\0';
|
|
||||||
|
|
||||||
/* Try SOCK_DGRAM connection to syslog */
|
|
||||||
connect_result = -1;
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
if (connect_result == -1) {
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
/* Try SOCK_STREAM connection to syslog */
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build message. Messages are generated both in the old style and new style,
|
|
||||||
* so that log watchers that are configured for the old-style message continue
|
|
||||||
* to work.
|
|
||||||
*/
|
|
||||||
#define strconcat(str) \
|
|
||||||
({ \
|
|
||||||
i = 0; \
|
|
||||||
while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \
|
|
||||||
message[plen + i] = str[i]; \
|
|
||||||
++i; \
|
|
||||||
} \
|
|
||||||
plen += i; \
|
|
||||||
})
|
|
||||||
|
|
||||||
/* Tersely log the failure */
|
|
||||||
plen = 0;
|
|
||||||
strconcat(msg_header);
|
|
||||||
hlen = plen;
|
|
||||||
strconcat(msg_ssd);
|
|
||||||
if (__progname != NULL)
|
|
||||||
strconcat(__progname);
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
strconcat(msg_report);
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen);
|
|
||||||
if (connect_result != -1) {
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Time to kill self since we have no idea what is going on */
|
|
||||||
pid = INLINE_SYSCALL(getpid, 0);
|
|
||||||
|
|
||||||
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
|
|
||||||
/* Remove any user-supplied handler for SIGABRT, before using it. */
|
|
||||||
#if 0
|
|
||||||
/*
|
|
||||||
* Note: Disabled because some programs catch & process their
|
|
||||||
* own crashes. We've already enabled this code path which
|
|
||||||
* means we want to let core dumps happen.
|
|
||||||
*/
|
|
||||||
static struct sigaction default_abort_act;
|
|
||||||
default_abort_act.sa_handler = SIG_DFL;
|
|
||||||
default_abort_act.sa_sigaction = NULL;
|
|
||||||
__sigfillset(&default_abort_act.sa_mask);
|
|
||||||
default_abort_act.sa_flags = 0;
|
|
||||||
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
|
|
||||||
#endif
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SIGKILL is only signal which cannot be caught */
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
|
|
||||||
|
|
||||||
/* In case the kill didn't work, exit anyway.
|
|
||||||
* The loop prevents gcc thinking this routine returns.
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
INLINE_SYSCALL(exit, 1, 137);
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
#ifdef GENTOO_SSP_HANDLER
|
|
||||||
void __stack_chk_fail(void)
|
|
||||||
#else
|
|
||||||
void __chk_fail(void)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
__hardened_gentoo_fail();
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
#define GENTOO_SSP_HANDLER
|
|
||||||
#include <debug/chk_fail.c>
|
|
@ -1,306 +0,0 @@
|
|||||||
When building glibc PIE (which is not something upstream support),
|
|
||||||
several modifications are necessary to the glibc build process.
|
|
||||||
|
|
||||||
First, any syscalls in PIEs must be of the PIC variant, otherwise
|
|
||||||
textrels ensue. Then, any syscalls made before the initialisation
|
|
||||||
of the TLS will fail on i386, as the sysenter variant on i386 uses
|
|
||||||
the TLS, giving rise to a chicken-and-egg situation. This patch
|
|
||||||
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
|
|
||||||
version is normally used, and uses the non-sysenter version for the brk
|
|
||||||
syscall that is performed by the TLS initialisation. Further, the TLS
|
|
||||||
initialisation is moved in this case prior to the initialisation of
|
|
||||||
dl_osversion, as that requires further syscalls.
|
|
||||||
|
|
||||||
csu/libc-start.c: Move initial TLS initialization to before the
|
|
||||||
initialisation of dl_osversion, when INTERNAL_SYSCALL_PRE_TLS is defined
|
|
||||||
|
|
||||||
csu/libc-tls.c: Use the no-sysenter version of sbrk when
|
|
||||||
INTERNAL_SYSCALL_PRE_TLS is defined.
|
|
||||||
|
|
||||||
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
|
|
||||||
version of brk - if INTERNAL_SYSCALL_PRE_TLS is defined.
|
|
||||||
|
|
||||||
misc/brk.c: Define a no-sysenter version of brk if
|
|
||||||
INTERNAL_SYSCALL_PRE_TLS is defined.
|
|
||||||
|
|
||||||
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
|
|
||||||
|
|
||||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
|
||||||
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
|
|
||||||
Fixed for 2.18 by Magnus Granberg <zorry@gentoo.org>
|
|
||||||
Fixed for 2.20 by Francisco Blas Izquierdo Riera <klondike@gentoo.org>
|
|
||||||
|
|
||||||
--- a/csu/libc-start.c
|
|
||||||
+++ b/csu/libc-start.c
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
extern int __libc_multiple_libcs;
|
|
||||||
|
|
||||||
#include <tls.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
#ifndef SHARED
|
|
||||||
# include <dl-osinfo.h>
|
|
||||||
extern void __pthread_initialize_minimal (void);
|
|
||||||
@@ -170,6 +171,11 @@ LIBC_START_MAIN (int (*main) (int, char
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+# ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+ /* Do the initial TLS initialization before _dl_osversion,
|
|
||||||
+ since the latter uses the uname syscall. */
|
|
||||||
+ __pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
# ifdef DL_SYSDEP_OSCHECK
|
|
||||||
if (!__libc_multiple_libcs)
|
|
||||||
{
|
|
||||||
@@ -138,10 +144,12 @@
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
+# ifndef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
/* Initialize the thread library at least a bit since the libgcc
|
|
||||||
functions are using thread functions if these are available and
|
|
||||||
we need to setup errno. */
|
|
||||||
__pthread_initialize_minimal ();
|
|
||||||
+# endif
|
|
||||||
|
|
||||||
/* Set up the stack checker's canary. */
|
|
||||||
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
|
|
||||||
--- a/csu/libc-tls.c
|
|
||||||
+++ b/csu/libc-tls.c
|
|
||||||
@@ -22,12 +22,17 @@
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <sys/param.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
#error makefile bug, this file is for static only
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+extern void *__sbrk_nosysenter (intptr_t __delta);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
|
|
||||||
|
|
||||||
|
|
||||||
@@ -139,20 +144,29 @@ __libc_setup_tls (size_t tcbsize, size_t
|
|
||||||
|
|
||||||
The initialized value of _dl_tls_static_size is provided by dl-open.c
|
|
||||||
to request some surplus that permits dynamic loading of modules with
|
|
||||||
- IE-model TLS. */
|
|
||||||
+ IE-model TLS.
|
|
||||||
+
|
|
||||||
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
|
|
||||||
+ use the special non-sysenter version instead. */
|
|
||||||
+#ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+# define __sbrk __sbrk_nosysenter
|
|
||||||
+#endif
|
|
||||||
#if TLS_TCB_AT_TP
|
|
||||||
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
|
|
||||||
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
|
|
||||||
#elif TLS_DTV_AT_TP
|
|
||||||
tcb_offset = roundup (tcbsize, align ?: 1);
|
|
||||||
tlsblock = __sbrk (tcb_offset + memsz + max_align
|
|
||||||
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
|
|
||||||
tlsblock += TLS_PRE_TCB_SIZE;
|
|
||||||
#else
|
|
||||||
/* In case a model with a different layout for the TCB and DTV
|
|
||||||
is defined add another #elif here and in the following #ifs. */
|
|
||||||
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
|
|
||||||
#endif
|
|
||||||
+#ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+# undef __sbrk
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Align the TLS block. */
|
|
||||||
tlsblock = (void *) (((uintptr_t) tlsblock + max_align - 1)
|
|
||||||
--- a/misc/sbrk.c
|
|
||||||
+++ b/misc/sbrk.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <sysdep.h>
|
|
||||||
|
|
||||||
/* Defined in brk.c. */
|
|
||||||
extern void *__curbrk;
|
|
||||||
@@ -29,6 +30,35 @@
|
|
||||||
/* Extend the process's data space by INCREMENT.
|
|
||||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
|
||||||
Return start of new space allocated, or -1 for errors. */
|
|
||||||
+#ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+extern int __brk_nosysenter (void *addr);
|
|
||||||
+void *
|
|
||||||
+__sbrk_nosysenter (intptr_t increment)
|
|
||||||
+{
|
|
||||||
+ void *oldbrk;
|
|
||||||
+
|
|
||||||
+ /* If this is not part of the dynamic library or the library is used via
|
|
||||||
+ dynamic loading in a statically linked program update __curbrk from the
|
|
||||||
+ kernel's brk value. That way two separate instances of __brk and __sbrk
|
|
||||||
+ can share the heap, returning interleaved pieces of it. */
|
|
||||||
+ if (__curbrk == NULL || __libc_multiple_libcs)
|
|
||||||
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ if (increment == 0)
|
|
||||||
+ return __curbrk;
|
|
||||||
+
|
|
||||||
+ oldbrk = __curbrk;
|
|
||||||
+ if (__brk_nosysenter (oldbrk + increment) < 0)
|
|
||||||
+ return (void *) -1;
|
|
||||||
+
|
|
||||||
+ return oldbrk;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
void *
|
|
||||||
__sbrk (intptr_t increment)
|
|
||||||
{
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/brk.c
|
|
||||||
@@ -31,6 +31,30 @@
|
|
||||||
linker. */
|
|
||||||
weak_alias (__curbrk, ___brk_addr)
|
|
||||||
|
|
||||||
+#ifdef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+/* This version is used by csu/libc-tls.c whem initialising the TLS
|
|
||||||
+ if the SYSENTER version requires the TLS (which it does on i386).
|
|
||||||
+ Obviously using the TLS before it is initialised is broken. */
|
|
||||||
+int
|
|
||||||
+__brk_nosysenter (void *addr)
|
|
||||||
+{
|
|
||||||
+ void *newbrk;
|
|
||||||
+
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ newbrk = (void *) INTERNAL_SYSCALL_PRE_TLS (brk, err, 1, addr);
|
|
||||||
+
|
|
||||||
+ __curbrk = newbrk;
|
|
||||||
+
|
|
||||||
+ if (newbrk < addr)
|
|
||||||
+ {
|
|
||||||
+ __set_errno (ENOMEM);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
int
|
|
||||||
__brk (void *addr)
|
|
||||||
{
|
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
|
|
||||||
@@ -187,7 +187,7 @@
|
|
||||||
/* The original calling convention for system calls on Linux/i386 is
|
|
||||||
to use int $0x80. */
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# ifdef __PIC__
|
|
||||||
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
|
|
||||||
# else
|
|
||||||
# define ENTER_KERNEL call *_dl_sysinfo
|
|
||||||
@@ -358,7 +358,7 @@
|
|
||||||
possible to use more than four parameters. */
|
|
||||||
#undef INTERNAL_SYSCALL
|
|
||||||
#ifdef I386_USE_SYSENTER
|
|
||||||
-# ifdef SHARED
|
|
||||||
+# ifdef __PIC__
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
register unsigned int resultvar; \
|
|
||||||
@@ -384,6 +384,18 @@
|
|
||||||
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
|
|
||||||
ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
(int) resultvar; })
|
|
||||||
+# define INTERNAL_SYSCALL_PRE_TLS(name, err, nr, args...) \
|
|
||||||
+ ({ \
|
|
||||||
+ register unsigned int resultvar; \
|
|
||||||
+ EXTRAVAR_##nr \
|
|
||||||
+ asm volatile ( \
|
|
||||||
+ LOADARGS_NOSYSENTER_##nr \
|
|
||||||
+ "movl %1, %%eax\n\t" \
|
|
||||||
+ "int $0x80\n\t" \
|
|
||||||
+ RESTOREARGS_NOSYSENTER_##nr \
|
|
||||||
+ : "=a" (resultvar) \
|
|
||||||
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
|
|
||||||
+ (int) resultvar; })
|
|
||||||
# else
|
|
||||||
# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
|
||||||
({ \
|
|
||||||
@@ -447,12 +459,20 @@
|
|
||||||
|
|
||||||
#define LOADARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && defined __PIC__
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k3, %k3\n\t"
|
|
||||||
# define LOADARGS_5 \
|
|
||||||
"movl %%ebx, %4\n\t" \
|
|
||||||
"movl %3, %%ebx\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
|
|
||||||
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
|
|
||||||
+# define LOADARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %%ebx, %3\n\t" \
|
|
||||||
+ "movl %2, %%ebx\n\t"
|
|
||||||
# else
|
|
||||||
# define LOADARGS_1 \
|
|
||||||
"bpushl .L__X'%k2, %k2\n\t"
|
|
||||||
@@ -474,11 +494,18 @@
|
|
||||||
|
|
||||||
#define RESTOREARGS_0
|
|
||||||
#ifdef __PIC__
|
|
||||||
-# if defined I386_USE_SYSENTER && defined SHARED
|
|
||||||
+# if defined I386_USE_SYSENTER && defined __PIC__
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k3, %k3\n\t"
|
|
||||||
# define RESTOREARGS_5 \
|
|
||||||
"movl %4, %%ebx"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_1 \
|
|
||||||
+ "bpopl .L__X'%k2, %k2\n\t"
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
|
|
||||||
+# define RESTOREARGS_NOSYSENTER_5 \
|
|
||||||
+ "movl %3, %%ebx"
|
|
||||||
# else
|
|
||||||
# define RESTOREARGS_1 \
|
|
||||||
"bpopl .L__X'%k2, %k2\n\t"
|
|
||||||
--- a/sysdeps/i386/nptl/tls.h
|
|
||||||
+++ b/sysdeps/i386/nptl/tls.h
|
|
||||||
@@ -189,6 +189,15 @@
|
|
||||||
desc->vals[3] = 0x51;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* We have no sysenter until the tls is initialized which is a
|
|
||||||
+ problem for PIC. Thus we need to do the right call depending
|
|
||||||
+ on the situation. */
|
|
||||||
+#ifndef INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL
|
|
||||||
+#else
|
|
||||||
+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL_PRE_TLS
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* Code to initially initialize the thread pointer. This might need
|
|
||||||
special attention since 'errno' is not yet available and if the
|
|
||||||
operation can cause a failure 'errno' must not be touched. */
|
|
||||||
@@ -209,7 +218,7 @@
|
|
||||||
\
|
|
||||||
/* Install the TLS. */ \
|
|
||||||
INTERNAL_SYSCALL_DECL (err); \
|
|
||||||
- _result = INTERNAL_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \
|
|
||||||
+ _result = TLS_INIT_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \
|
|
||||||
\
|
|
||||||
if (_result == 0) \
|
|
||||||
/* We know the index in the GDT, now load the segment register. \
|
|
@ -1,321 +0,0 @@
|
|||||||
/* Copyright (C) 2005 Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
02111-1307 USA. */
|
|
||||||
|
|
||||||
/* Copyright (C) 2006-2007 Gentoo Foundation Inc.
|
|
||||||
* License terms as above.
|
|
||||||
*
|
|
||||||
* Hardened Gentoo SSP handler
|
|
||||||
*
|
|
||||||
* An SSP failure handler that does not use functions from the rest of
|
|
||||||
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
|
|
||||||
* no possibility of recursion into the handler.
|
|
||||||
*
|
|
||||||
* Direct all bug reports to http://bugs.gentoo.org/
|
|
||||||
*
|
|
||||||
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
|
|
||||||
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
|
|
||||||
*
|
|
||||||
* The following people contributed to the glibc-2.3 Hardened
|
|
||||||
* Gentoo SSP handler, from which this implementation draws much:
|
|
||||||
*
|
|
||||||
* Ned Ludd - <solar[@]gentoo.org>
|
|
||||||
* Alexander Gabert - <pappy[@]gentoo.org>
|
|
||||||
* The PaX Team - <pageexec[@]freemail.hu>
|
|
||||||
* Peter S. Mazinger - <ps.m[@]gmx.net>
|
|
||||||
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
|
|
||||||
* Robert Connolly - <robert[@]linuxfromscratch.org>
|
|
||||||
* Cory Visi <cory[@]visi.name>
|
|
||||||
* Mike Frysinger <vapier[@]gentoo.org>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include <sysdep-cancel.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
#include <bp-checks.h>
|
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#include <alloca.h>
|
|
||||||
/* from sysdeps */
|
|
||||||
#include <socketcall.h>
|
|
||||||
/* for the stuff in bits/socket.h */
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/un.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* Sanity check on SYSCALL macro names - force compilation
|
|
||||||
* failure if the names used here do not exist
|
|
||||||
*/
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_socket
|
|
||||||
# error Cannot do syscall socket or socketcall
|
|
||||||
#endif
|
|
||||||
#if !defined __NR_socketcall && !defined __NR_connect
|
|
||||||
# error Cannot do syscall connect or socketcall
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_write
|
|
||||||
# error Cannot do syscall write
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_close
|
|
||||||
# error Cannot do syscall close
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_getpid
|
|
||||||
# error Cannot do syscall getpid
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_kill
|
|
||||||
# error Cannot do syscall kill
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_exit
|
|
||||||
# error Cannot do syscall exit
|
|
||||||
#endif
|
|
||||||
#ifdef SSP_SMASH_DUMPS_CORE
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
|
|
||||||
# if !defined _KERNEL_NSIG && !defined _NSIG
|
|
||||||
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
|
|
||||||
# endif
|
|
||||||
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
|
|
||||||
# error Cannot do syscall sigaction or rt_sigaction
|
|
||||||
# endif
|
|
||||||
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
|
|
||||||
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
|
|
||||||
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
|
|
||||||
* some reason.
|
|
||||||
*/
|
|
||||||
# ifdef _KERNEL_NSIG
|
|
||||||
# define _SSP_NSIG _KERNEL_NSIG
|
|
||||||
# else
|
|
||||||
# define _SSP_NSIG _NSIG
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define _SSP_NSIG 0
|
|
||||||
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SIGACTION - default to newer rt signal interface but
|
|
||||||
* fallback to old as needed.
|
|
||||||
*/
|
|
||||||
#ifdef __NR_rt_sigaction
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
|
|
||||||
#else
|
|
||||||
# define DO_SIGACTION(signum, act, oldact) \
|
|
||||||
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
|
|
||||||
#if defined(__NR_socket) && defined(__NR_connect)
|
|
||||||
# define USE_OLD_SOCKETCALL 0
|
|
||||||
#else
|
|
||||||
# define USE_OLD_SOCKETCALL 1
|
|
||||||
#endif
|
|
||||||
/* stub out the __NR_'s so we can let gcc optimize away dead code */
|
|
||||||
#ifndef __NR_socketcall
|
|
||||||
# define __NR_socketcall 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_socket
|
|
||||||
# define __NR_socket 0
|
|
||||||
#endif
|
|
||||||
#ifndef __NR_connect
|
|
||||||
# define __NR_connect 0
|
|
||||||
#endif
|
|
||||||
#define DO_SOCKET(result, domain, type, protocol) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = domain; \
|
|
||||||
socketargs[1] = type; \
|
|
||||||
socketargs[2] = protocol; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
|
|
||||||
} while (0)
|
|
||||||
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
|
|
||||||
do { \
|
|
||||||
if (USE_OLD_SOCKETCALL) { \
|
|
||||||
socketargs[0] = sockfd; \
|
|
||||||
socketargs[1] = (unsigned long int)serv_addr; \
|
|
||||||
socketargs[2] = addrlen; \
|
|
||||||
socketargs[3] = 0; \
|
|
||||||
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
|
|
||||||
} else \
|
|
||||||
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#ifndef _PATH_LOG
|
|
||||||
# define _PATH_LOG "/dev/log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char path_log[] = _PATH_LOG;
|
|
||||||
|
|
||||||
/* For building glibc with SSP switched on, define __progname to a
|
|
||||||
* constant if building for the run-time loader, to avoid pulling
|
|
||||||
* in more of libc.so into ld.so
|
|
||||||
*/
|
|
||||||
#ifdef IS_IN_rtld
|
|
||||||
static char *__progname = "<rtld>";
|
|
||||||
#else
|
|
||||||
extern char *__progname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Common handler code, used by stack_chk_fail and __stack_smash_handler
|
|
||||||
* Inlined to ensure no self-references to the handler within itself.
|
|
||||||
* Data static to avoid putting more than necessary on the stack,
|
|
||||||
* to aid core debugging.
|
|
||||||
*/
|
|
||||||
__attribute__ ((__noreturn__ , __always_inline__))
|
|
||||||
static inline void
|
|
||||||
__hardened_gentoo_stack_chk_fail(char func[], int damaged)
|
|
||||||
{
|
|
||||||
#define MESSAGE_BUFSIZ 256
|
|
||||||
static pid_t pid;
|
|
||||||
static int plen, i;
|
|
||||||
static char message[MESSAGE_BUFSIZ];
|
|
||||||
static const char msg_ssa[] = ": stack smashing attack";
|
|
||||||
static const char msg_inf[] = " in function ";
|
|
||||||
static const char msg_ssd[] = "*** stack smashing detected ***: ";
|
|
||||||
static const char msg_terminated[] = " - terminated\n";
|
|
||||||
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
|
|
||||||
static const char msg_unknown[] = "<unknown>";
|
|
||||||
static int log_socket, connect_result;
|
|
||||||
static struct sockaddr_un sock;
|
|
||||||
static unsigned long int socketargs[4];
|
|
||||||
|
|
||||||
/* Build socket address
|
|
||||||
*/
|
|
||||||
sock.sun_family = AF_UNIX;
|
|
||||||
i = 0;
|
|
||||||
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
|
|
||||||
sock.sun_path[i] = path_log[i];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
sock.sun_path[i] = '\0';
|
|
||||||
|
|
||||||
/* Try SOCK_DGRAM connection to syslog */
|
|
||||||
connect_result = -1;
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
if (connect_result == -1) {
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
/* Try SOCK_STREAM connection to syslog */
|
|
||||||
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
|
|
||||||
if (log_socket != -1)
|
|
||||||
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build message. Messages are generated both in the old style and new style,
|
|
||||||
* so that log watchers that are configured for the old-style message continue
|
|
||||||
* to work.
|
|
||||||
*/
|
|
||||||
#define strconcat(str) \
|
|
||||||
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
|
|
||||||
{\
|
|
||||||
message[plen+i]=str[i];\
|
|
||||||
i++;\
|
|
||||||
}\
|
|
||||||
plen+=i;}
|
|
||||||
|
|
||||||
/* R.Henderson post-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
strconcat(msg_ssd);
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Dr. Etoh pre-gcc-4 style message */
|
|
||||||
plen = 0;
|
|
||||||
if (__progname != (char *)0)
|
|
||||||
strconcat(__progname)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_ssa);
|
|
||||||
strconcat(msg_inf);
|
|
||||||
if (func != NULL)
|
|
||||||
strconcat(func)
|
|
||||||
else
|
|
||||||
strconcat(msg_unknown);
|
|
||||||
strconcat(msg_terminated);
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
/* Direct reports to bugs.gentoo.org */
|
|
||||||
plen=0;
|
|
||||||
strconcat(msg_report);
|
|
||||||
message[plen++]='\0';
|
|
||||||
|
|
||||||
/* Write out error message to STDERR, to syslog if open */
|
|
||||||
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
|
|
||||||
if (connect_result != -1)
|
|
||||||
INLINE_SYSCALL(write, 3, log_socket, message, plen);
|
|
||||||
|
|
||||||
if (log_socket != -1)
|
|
||||||
INLINE_SYSCALL(close, 1, log_socket);
|
|
||||||
|
|
||||||
/* Suicide */
|
|
||||||
pid = INLINE_SYSCALL(getpid, 0);
|
|
||||||
|
|
||||||
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
|
|
||||||
static struct sigaction default_abort_act;
|
|
||||||
/* Remove any user-supplied handler for SIGABRT, before using it */
|
|
||||||
default_abort_act.sa_handler = SIG_DFL;
|
|
||||||
default_abort_act.sa_sigaction = NULL;
|
|
||||||
__sigfillset(&default_abort_act.sa_mask);
|
|
||||||
default_abort_act.sa_flags = 0;
|
|
||||||
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Note; actions cannot be added to SIGKILL */
|
|
||||||
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
|
|
||||||
|
|
||||||
/* In case the kill didn't work, exit anyway
|
|
||||||
* The loop prevents gcc thinking this routine returns
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
INLINE_SYSCALL(exit, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __stack_chk_fail(void)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_stack_chk_fail(NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef ENABLE_OLD_SSP_COMPAT
|
|
||||||
__attribute__ ((__noreturn__))
|
|
||||||
void __stack_smash_handler(char func[], int damaged)
|
|
||||||
{
|
|
||||||
__hardened_gentoo_stack_chk_fail(func, damaged);
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -1,381 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
alt_prefix() {
|
|
||||||
is_crosscompile && echo /usr/${CTARGET}
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ ${EAPI:-0} == [012] ]] ; then
|
|
||||||
: ${ED:=${D}}
|
|
||||||
: ${EROOT:=${ROOT}}
|
|
||||||
fi
|
|
||||||
# This indirection is for binpkgs. #523332
|
|
||||||
_nonfatal() { nonfatal "$@" ; }
|
|
||||||
if [[ ${EAPI:-0} == [0123] ]] ; then
|
|
||||||
nonfatal() { "$@" ; }
|
|
||||||
_nonfatal() { "$@" ; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We need to be able to set alternative headers for
|
|
||||||
# compiling for non-native platform
|
|
||||||
# Will also become useful for testing kernel-headers without screwing up
|
|
||||||
# the whole system.
|
|
||||||
# note: intentionally undocumented.
|
|
||||||
alt_headers() {
|
|
||||||
echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
|
|
||||||
}
|
|
||||||
alt_build_headers() {
|
|
||||||
if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
|
|
||||||
ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)"
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
|
|
||||||
if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
|
|
||||||
local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
|
|
||||||
ALT_BUILD_HEADERS=${header_path%/linux/version.h}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "${ALT_BUILD_HEADERS}"
|
|
||||||
}
|
|
||||||
|
|
||||||
alt_libdir() {
|
|
||||||
echo $(alt_prefix)/$(get_libdir)
|
|
||||||
}
|
|
||||||
alt_usrlibdir() {
|
|
||||||
echo $(alt_prefix)/usr/$(get_libdir)
|
|
||||||
}
|
|
||||||
|
|
||||||
builddir() {
|
|
||||||
echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_target_flags() {
|
|
||||||
# This largely mucks with compiler flags. None of which should matter
|
|
||||||
# when building up just the headers.
|
|
||||||
just_headers && return 0
|
|
||||||
|
|
||||||
case $(tc-arch) in
|
|
||||||
x86)
|
|
||||||
# -march needed for #185404 #199334
|
|
||||||
# TODO: When creating the first glibc cross-compile, this test will
|
|
||||||
# always fail as it does a full link which in turn requires glibc.
|
|
||||||
# Probably also applies when changing multilib profile settings (e.g.
|
|
||||||
# enabling x86 when the profile was amd64-only previously).
|
|
||||||
# We could change main to _start and pass -nostdlib here so that we
|
|
||||||
# only test the gcc code compilation. Or we could do a compile and
|
|
||||||
# then look for the symbol via scanelf.
|
|
||||||
if ! glibc_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
|
|
||||||
local t=${CTARGET_OPT:-${CTARGET}}
|
|
||||||
t=${t%%-*}
|
|
||||||
filter-flags '-march=*'
|
|
||||||
export CFLAGS="-march=${t} ${CFLAGS}"
|
|
||||||
einfo "Auto adding -march=${t} to CFLAGS #185404"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
amd64)
|
|
||||||
# -march needed for #185404 #199334
|
|
||||||
# Note: This test only matters when the x86 ABI is enabled, so we could
|
|
||||||
# optimize a bit and elide it.
|
|
||||||
# TODO: See cross-compile issues listed above for x86.
|
|
||||||
if ! glibc_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
|
|
||||||
local t=${CTARGET_OPT:-${CTARGET}}
|
|
||||||
t=${t%%-*}
|
|
||||||
# Normally the target is x86_64-xxx, so turn that into the -march that
|
|
||||||
# gcc actually accepts. #528708
|
|
||||||
[[ ${t} == "x86_64" ]] && t="x86-64"
|
|
||||||
filter-flags '-march=*'
|
|
||||||
# ugly, ugly, ugly. ugly.
|
|
||||||
CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
|
|
||||||
export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
|
|
||||||
einfo "Auto adding -march=${t} to CFLAGS_x86 #185404"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
mips)
|
|
||||||
# The mips abi cannot support the GNU style hashes. #233233
|
|
||||||
filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
|
|
||||||
;;
|
|
||||||
ppc)
|
|
||||||
append-flags "-freorder-blocks"
|
|
||||||
;;
|
|
||||||
sparc)
|
|
||||||
# Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
|
|
||||||
filter-flags "-fcall-used-g7"
|
|
||||||
append-flags "-fcall-used-g6"
|
|
||||||
|
|
||||||
# If the CHOST is the basic one (e.g. not sparcv9-xxx already),
|
|
||||||
# try to pick a better one so glibc can use cpu-specific .S files.
|
|
||||||
# We key off the CFLAGS to get a good value. Also need to handle
|
|
||||||
# version skew.
|
|
||||||
# We can't force users to set their CHOST to their exact machine
|
|
||||||
# as many of these are not recognized by config.sub/gcc and such :(.
|
|
||||||
# Note: If the mcpu values don't scale, we might try probing CPP defines.
|
|
||||||
# Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
|
|
||||||
|
|
||||||
local cpu
|
|
||||||
case ${CTARGET} in
|
|
||||||
sparc64-*)
|
|
||||||
case $(get-flag mcpu) in
|
|
||||||
niagara[234])
|
|
||||||
if version_is_at_least 2.8 ; then
|
|
||||||
cpu="sparc64v2"
|
|
||||||
elif version_is_at_least 2.4 ; then
|
|
||||||
cpu="sparc64v"
|
|
||||||
elif version_is_at_least 2.2.3 ; then
|
|
||||||
cpu="sparc64b"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
niagara)
|
|
||||||
if version_is_at_least 2.4 ; then
|
|
||||||
cpu="sparc64v"
|
|
||||||
elif version_is_at_least 2.2.3 ; then
|
|
||||||
cpu="sparc64b"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
ultrasparc3)
|
|
||||||
cpu="sparc64b"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# We need to force at least v9a because the base build doesn't
|
|
||||||
# work with just v9.
|
|
||||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=19477
|
|
||||||
[[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
sparc-*)
|
|
||||||
case $(get-flag mcpu) in
|
|
||||||
niagara[234])
|
|
||||||
if version_is_at_least 2.8 ; then
|
|
||||||
cpu="sparcv9v2"
|
|
||||||
elif version_is_at_least 2.4 ; then
|
|
||||||
cpu="sparcv9v"
|
|
||||||
elif version_is_at_least 2.2.3 ; then
|
|
||||||
cpu="sparcv9b"
|
|
||||||
else
|
|
||||||
cpu="sparcv9"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
niagara)
|
|
||||||
if version_is_at_least 2.4 ; then
|
|
||||||
cpu="sparcv9v"
|
|
||||||
elif version_is_at_least 2.2.3 ; then
|
|
||||||
cpu="sparcv9b"
|
|
||||||
else
|
|
||||||
cpu="sparcv9"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
ultrasparc3)
|
|
||||||
cpu="sparcv9b"
|
|
||||||
;;
|
|
||||||
v9|ultrasparc)
|
|
||||||
cpu="sparcv9"
|
|
||||||
;;
|
|
||||||
v8|supersparc|hypersparc|leon|leon3)
|
|
||||||
cpu="sparcv8"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
[[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_flags() {
|
|
||||||
# Make sure host make.conf doesn't pollute us
|
|
||||||
if is_crosscompile || tc-is-cross-compiler ; then
|
|
||||||
CHOST=${CTARGET} strip-unsupported-flags
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Store our CFLAGS because it's changed depending on which CTARGET
|
|
||||||
# we are building when pulling glibc on a multilib profile
|
|
||||||
CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
|
|
||||||
CFLAGS=${CFLAGS_BASE}
|
|
||||||
CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
|
|
||||||
CXXFLAGS=${CXXFLAGS_BASE}
|
|
||||||
ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
|
|
||||||
ASFLAGS=${ASFLAGS_BASE}
|
|
||||||
|
|
||||||
# Over-zealous CFLAGS can often cause problems. What may work for one
|
|
||||||
# person may not work for another. To avoid a large influx of bugs
|
|
||||||
# relating to failed builds, we strip most CFLAGS out to ensure as few
|
|
||||||
# problems as possible.
|
|
||||||
strip-flags
|
|
||||||
strip-unsupported-flags
|
|
||||||
filter-flags -m32 -m64 -mabi=*
|
|
||||||
|
|
||||||
# Bug 492892.
|
|
||||||
filter-flags -frecord-gcc-switches
|
|
||||||
|
|
||||||
unset CBUILD_OPT CTARGET_OPT
|
|
||||||
if use multilib ; then
|
|
||||||
CTARGET_OPT=$(get_abi_CTARGET)
|
|
||||||
[[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
|
|
||||||
fi
|
|
||||||
|
|
||||||
setup_target_flags
|
|
||||||
|
|
||||||
if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
|
|
||||||
CBUILD_OPT=${CTARGET_OPT}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Lock glibc at -O2 -- linuxthreads needs it and we want to be
|
|
||||||
# conservative here. -fno-strict-aliasing is to work around #155906
|
|
||||||
filter-flags -O?
|
|
||||||
append-flags -O2 -fno-strict-aliasing -fno-builtin-strlen
|
|
||||||
|
|
||||||
# Can't build glibc itself with fortify code. Newer versions add
|
|
||||||
# this flag for us, so no need to do it manually.
|
|
||||||
version_is_at_least 2.16 ${PV} || append-cppflags -U_FORTIFY_SOURCE
|
|
||||||
|
|
||||||
# building glibc with SSP is fraught with difficulty, especially
|
|
||||||
# due to __stack_chk_fail_local which would mean significant changes
|
|
||||||
# to the glibc build process. See bug #94325 #293721
|
|
||||||
# Note we have to handle both user-given CFLAGS and gcc defaults via
|
|
||||||
# spec rules here. We can't simply add -fno-stack-protector as it gets
|
|
||||||
# added before user flags, and we can't just filter-flags because
|
|
||||||
# _filter_hardened doesn't support globs.
|
|
||||||
filter-flags -fstack-protector*
|
|
||||||
gcc-specs-ssp && append-flags $(test-flags -fno-stack-protector)
|
|
||||||
|
|
||||||
if use hardened && gcc-specs-pie ; then
|
|
||||||
# Force PIC macro definition for all compilations since they're all
|
|
||||||
# either -fPIC or -fPIE with the default-PIE compiler.
|
|
||||||
append-cppflags -DPIC
|
|
||||||
else
|
|
||||||
# Don't build -fPIE without the default-PIE compiler and the
|
|
||||||
# hardened-pie patch
|
|
||||||
filter-flags -fPIE
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
want_nptl() {
|
|
||||||
[[ -z ${LT_VER} ]] && return 0
|
|
||||||
want_tls || return 1
|
|
||||||
use nptl || return 1
|
|
||||||
|
|
||||||
# Older versions of glibc had incomplete arch support for nptl.
|
|
||||||
# But if you're building those now, you can handle USE=nptl yourself.
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
want_linuxthreads() {
|
|
||||||
[[ -z ${LT_VER} ]] && return 1
|
|
||||||
use linuxthreads
|
|
||||||
}
|
|
||||||
|
|
||||||
want_tls() {
|
|
||||||
# Archs that can use TLS (Thread Local Storage)
|
|
||||||
case $(tc-arch) in
|
|
||||||
x86)
|
|
||||||
# requires i486 or better #106556
|
|
||||||
[[ ${CTARGET} == i[4567]86* ]] && return 0
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
want__thread() {
|
|
||||||
want_tls || return 1
|
|
||||||
|
|
||||||
# For some reason --with-tls --with__thread is causing segfaults on sparc32.
|
|
||||||
[[ ${PROFILE_ARCH} == "sparc" ]] && return 1
|
|
||||||
|
|
||||||
[[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
|
|
||||||
|
|
||||||
# only test gcc -- cant test linking yet
|
|
||||||
tc-has-tls -c ${CTARGET}
|
|
||||||
WANT__THREAD=$?
|
|
||||||
|
|
||||||
return ${WANT__THREAD}
|
|
||||||
}
|
|
||||||
|
|
||||||
use_multiarch() {
|
|
||||||
# Make sure binutils is new enough to support indirect functions #336792
|
|
||||||
# This funky sed supports gold and bfd linkers.
|
|
||||||
local bver nver
|
|
||||||
bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
|
|
||||||
case $(tc-arch ${CTARGET}) in
|
|
||||||
amd64|x86) nver="2.20" ;;
|
|
||||||
arm) nver="2.22" ;;
|
|
||||||
hppa) nver="2.23" ;;
|
|
||||||
ppc|ppc64) nver="2.20" ;;
|
|
||||||
# ifunc was added in 2.23, but glibc also needs machinemode which is in 2.24.
|
|
||||||
s390) nver="2.24" ;;
|
|
||||||
sparc) nver="2.21" ;;
|
|
||||||
*) return 1 ;;
|
|
||||||
esac
|
|
||||||
version_is_at_least ${nver} ${bver}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Setup toolchain variables that had historically
|
|
||||||
# been defined in the profiles for these archs.
|
|
||||||
setup_env() {
|
|
||||||
# silly users
|
|
||||||
unset LD_RUN_PATH
|
|
||||||
unset LD_ASSUME_KERNEL
|
|
||||||
|
|
||||||
if is_crosscompile || tc-is-cross-compiler ; then
|
|
||||||
multilib_env ${CTARGET_OPT:-${CTARGET}}
|
|
||||||
|
|
||||||
if ! use multilib ; then
|
|
||||||
MULTILIB_ABIS=${DEFAULT_ABI}
|
|
||||||
else
|
|
||||||
MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the user has CFLAGS_<CTARGET> in their make.conf, use that,
|
|
||||||
# and fall back on CFLAGS.
|
|
||||||
local VAR=CFLAGS_${CTARGET//[-.]/_}
|
|
||||||
CFLAGS=${!VAR-${CFLAGS}}
|
|
||||||
fi
|
|
||||||
|
|
||||||
setup_flags
|
|
||||||
|
|
||||||
export ABI=${ABI:-${DEFAULT_ABI:-default}}
|
|
||||||
|
|
||||||
local VAR=CFLAGS_${ABI}
|
|
||||||
# We need to export CFLAGS with abi information in them because glibc's
|
|
||||||
# configure script checks CFLAGS for some targets (like mips). Keep
|
|
||||||
# around the original clean value to avoid appending multiple ABIs on
|
|
||||||
# top of each other.
|
|
||||||
: ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})}
|
|
||||||
export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach_abi() {
|
|
||||||
setup_env
|
|
||||||
|
|
||||||
local ret=0
|
|
||||||
local abilist=""
|
|
||||||
if use multilib ; then
|
|
||||||
abilist=$(get_install_abis)
|
|
||||||
else
|
|
||||||
abilist=${DEFAULT_ABI}
|
|
||||||
fi
|
|
||||||
evar_push ABI
|
|
||||||
export ABI
|
|
||||||
for ABI in ${abilist:-default} ; do
|
|
||||||
setup_env
|
|
||||||
einfo "Running $1 for ABI ${ABI}"
|
|
||||||
$1
|
|
||||||
: $(( ret |= $? ))
|
|
||||||
done
|
|
||||||
evar_pop
|
|
||||||
return ${ret}
|
|
||||||
}
|
|
||||||
|
|
||||||
just_headers() {
|
|
||||||
is_crosscompile && use crosscompile_opts_headers-only
|
|
||||||
}
|
|
||||||
|
|
||||||
glibc_banner() {
|
|
||||||
local b="Gentoo ${PVR}"
|
|
||||||
[[ -n ${SNAP_VER} ]] && b+=" snapshot ${SNAP_VER}"
|
|
||||||
[[ -n ${BRANCH_UPDATE} ]] && b+=" branch ${BRANCH_UPDATE}"
|
|
||||||
[[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
|
|
||||||
echo "${b}"
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
# Copyright 1999-2012 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
eblit-glibc-pkg_postinst() {
|
|
||||||
# nothing to do if just installing headers
|
|
||||||
just_headers && return
|
|
||||||
|
|
||||||
if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
|
|
||||||
# Generate fastloading iconv module configuration file.
|
|
||||||
"${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then
|
|
||||||
# Reload init ... if in a chroot or a diff init package, ignore
|
|
||||||
# errors from this step #253697
|
|
||||||
/sbin/telinit U 2>/dev/null
|
|
||||||
|
|
||||||
# if the host locales.gen contains no entries, we'll install everything
|
|
||||||
local locale_list="${EROOT}etc/locale.gen"
|
|
||||||
if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
|
|
||||||
ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
|
|
||||||
locale_list="${EROOT}usr/share/i18n/SUPPORTED"
|
|
||||||
fi
|
|
||||||
locale-gen -j $(makeopts_jobs) --config "${locale_list}"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
# Simple test to make sure our new glibc isnt completely broken.
|
|
||||||
# Make sure we don't test with statically built binaries since
|
|
||||||
# they will fail. Also, skip if this glibc is a cross compiler.
|
|
||||||
#
|
|
||||||
# If coreutils is built with USE=multicall, some of these files
|
|
||||||
# will just be wrapper scripts, not actual ELFs we can test.
|
|
||||||
glibc_sanity_check() {
|
|
||||||
cd / #228809
|
|
||||||
|
|
||||||
# We enter ${ED} so to avoid trouble if the path contains
|
|
||||||
# special characters; for instance if the path contains the
|
|
||||||
# colon character (:), then the linker will try to split it
|
|
||||||
# and look for the libraries in an unexpected place. This can
|
|
||||||
# lead to unsafe code execution if the generated prefix is
|
|
||||||
# within a world-writable directory.
|
|
||||||
# (e.g. /var/tmp/portage:${HOSTNAME})
|
|
||||||
pushd "${ED}"/$(get_libdir) >/dev/null
|
|
||||||
|
|
||||||
local x striptest
|
|
||||||
for x in cal date env free ls true uname uptime ; do
|
|
||||||
x=$(type -p ${x})
|
|
||||||
[[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
|
|
||||||
striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
|
|
||||||
case ${striptest} in
|
|
||||||
*"statically linked"*) continue;;
|
|
||||||
*"ASCII text"*) continue;;
|
|
||||||
esac
|
|
||||||
# We need to clear the locale settings as the upgrade might want
|
|
||||||
# incompatible locale data. This test is not for verifying that.
|
|
||||||
LC_ALL=C \
|
|
||||||
./ld-*.so --library-path . ${x} > /dev/null \
|
|
||||||
|| die "simple run test (${x}) failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-pkg_preinst() {
|
|
||||||
# nothing to do if just installing headers
|
|
||||||
just_headers && return
|
|
||||||
|
|
||||||
# prepare /etc/ld.so.conf.d/ for files
|
|
||||||
mkdir -p "${EROOT}"/etc/ld.so.conf.d
|
|
||||||
|
|
||||||
# Default /etc/hosts.conf:multi to on for systems with small dbs.
|
|
||||||
if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
|
|
||||||
sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
|
|
||||||
elog "Defaulting /etc/host.conf:multi to on"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ ${ROOT} != "/" ]] && return 0
|
|
||||||
[[ -d ${ED}/$(get_libdir) ]] || return 0
|
|
||||||
glibc_sanity_check
|
|
||||||
|
|
||||||
# For newer EAPIs, this was run in pkg_pretend.
|
|
||||||
if [[ ${EAPI:-0} == [0123] ]] ; then
|
|
||||||
check_devpts
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,157 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
glibc_compile_test() {
|
|
||||||
local ret save_cflags=${CFLAGS}
|
|
||||||
CFLAGS+=" $1"
|
|
||||||
shift
|
|
||||||
|
|
||||||
pushd "${T}" >/dev/null
|
|
||||||
|
|
||||||
rm -f glibc-test*
|
|
||||||
printf '%b' "$*" > glibc-test.c
|
|
||||||
|
|
||||||
_nonfatal emake -s glibc-test
|
|
||||||
ret=$?
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
|
|
||||||
CFLAGS=${save_cflags}
|
|
||||||
return ${ret}
|
|
||||||
}
|
|
||||||
|
|
||||||
glibc_run_test() {
|
|
||||||
local ret
|
|
||||||
|
|
||||||
if [[ ${EMERGE_FROM} == "binary" ]] ; then
|
|
||||||
# ignore build failures when installing a binary package #324685
|
|
||||||
glibc_compile_test "" "$@" 2>/dev/null || return 0
|
|
||||||
else
|
|
||||||
if ! glibc_compile_test "" "$@" ; then
|
|
||||||
ewarn "Simple build failed ... assuming this is desired #324685"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
pushd "${T}" >/dev/null
|
|
||||||
|
|
||||||
./glibc-test
|
|
||||||
ret=$?
|
|
||||||
rm -f glibc-test*
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
|
|
||||||
return ${ret}
|
|
||||||
}
|
|
||||||
|
|
||||||
check_devpts() {
|
|
||||||
# Make sure devpts is mounted correctly for use w/out setuid pt_chown.
|
|
||||||
|
|
||||||
# If merely building the binary package, then there's nothing to verify.
|
|
||||||
[[ ${MERGE_TYPE} == "buildonly" ]] && return
|
|
||||||
|
|
||||||
# Only sanity check when installing the native glibc.
|
|
||||||
[[ ${ROOT} != "/" ]] && return
|
|
||||||
|
|
||||||
# Older versions always installed setuid, so no need to check.
|
|
||||||
in_iuse suid || return
|
|
||||||
|
|
||||||
# If they're opting in to the old suid code, then no need to check.
|
|
||||||
use suid && return
|
|
||||||
|
|
||||||
if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
|
|
||||||
eerror "In order to use glibc with USE=-suid, you must make sure that"
|
|
||||||
eerror "you have devpts mounted at /dev/pts with the gid=5 option."
|
|
||||||
eerror "Openrc should do this for you, so you should check /etc/fstab"
|
|
||||||
eerror "and make sure you do not have any invalid settings there."
|
|
||||||
# Do not die on older kernels as devpts did not export these settings #489520.
|
|
||||||
if version_is_at_least 2.6.25 $(uname -r) ; then
|
|
||||||
die "mount & fix your /dev/pts settings"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-pkg_pretend() {
|
|
||||||
# For older EAPIs, this is run in pkg_preinst.
|
|
||||||
if [[ ${EAPI:-0} != [0123] ]] ; then
|
|
||||||
check_devpts
|
|
||||||
fi
|
|
||||||
|
|
||||||
# prevent native builds from downgrading ... maybe update to allow people
|
|
||||||
# to change between diff -r versions ? (2.3.6-r4 -> 2.3.6-r2)
|
|
||||||
if [[ ${MERGE_TYPE} != "buildonly" ]] && \
|
|
||||||
[[ ${ROOT} == "/" ]] && \
|
|
||||||
[[ ${CBUILD} == ${CHOST} ]] && \
|
|
||||||
[[ ${CHOST} == ${CTARGET} ]] ; then
|
|
||||||
if has_version '>'${CATEGORY}/${PF} ; then
|
|
||||||
eerror "Sanity check to keep you from breaking your system:"
|
|
||||||
eerror " Downgrading glibc is not supported and a sure way to destruction"
|
|
||||||
die "aborting to save your system"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! glibc_run_test '#include <pwd.h>\nint main(){return getpwuid(0)==0;}\n'
|
|
||||||
then
|
|
||||||
eerror "Your patched vendor kernel is broken. You need to get an"
|
|
||||||
eerror "update from whoever is providing the kernel to you."
|
|
||||||
eerror "https://sourceware.org/bugzilla/show_bug.cgi?id=5227"
|
|
||||||
eerror "http://bugs.gentoo.org/262698"
|
|
||||||
die "keeping your system alive, say thank you"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! glibc_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n'
|
|
||||||
then
|
|
||||||
eerror "Your old kernel is broken. You need to update it to"
|
|
||||||
eerror "a newer version as syscall(<bignum>) will break."
|
|
||||||
eerror "http://bugs.gentoo.org/279260"
|
|
||||||
die "keeping your system alive, say thank you"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# users have had a chance to phase themselves, time to give em the boot
|
|
||||||
if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
|
|
||||||
eerror "You still haven't deleted ${EROOT}/etc/locales.build."
|
|
||||||
eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
|
|
||||||
die "lazy upgrader detected"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${CTARGET} == i386-* ]] ; then
|
|
||||||
eerror "i386 CHOSTs are no longer supported."
|
|
||||||
eerror "Chances are you don't actually want/need i386."
|
|
||||||
eerror "Please read http://www.gentoo.org/doc/en/change-chost.xml"
|
|
||||||
die "please fix your CHOST"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
|
|
||||||
ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
|
|
||||||
ewarn "This will result in a 50% performance penalty when running with a 32bit"
|
|
||||||
ewarn "hypervisor, which is probably not what you want."
|
|
||||||
fi
|
|
||||||
|
|
||||||
use hardened && ! gcc-specs-pie && \
|
|
||||||
ewarn "PIE hardening not applied, as your compiler doesn't default to PIE"
|
|
||||||
|
|
||||||
# Make sure host system is up to date #394453
|
|
||||||
if has_version '<sys-libs/glibc-2.13' && \
|
|
||||||
[[ -n $(scanelf -qys__guard -F'#s%F' "${EROOT}"/lib*/l*-*.so) ]]
|
|
||||||
then
|
|
||||||
ebegin "Scanning system for __guard to see if you need to rebuild first ..."
|
|
||||||
local files=$(
|
|
||||||
scanelf -qys__guard -F'#s%F' \
|
|
||||||
"${EROOT}"/*bin/ \
|
|
||||||
"${EROOT}"/lib* \
|
|
||||||
"${EROOT}"/usr/*bin/ \
|
|
||||||
"${EROOT}"/usr/lib* | \
|
|
||||||
egrep -v \
|
|
||||||
-e "^${EROOT}/lib.*/(libc|ld)-2.*.so$" \
|
|
||||||
-e "^${EROOT}/sbin/(ldconfig|sln)$"
|
|
||||||
)
|
|
||||||
[[ -z ${files} ]]
|
|
||||||
if ! eend $? ; then
|
|
||||||
eerror "Your system still has old SSP __guard symbols. You need to"
|
|
||||||
eerror "rebuild all the packages that provide these files first:"
|
|
||||||
eerror "${files}"
|
|
||||||
die "old __guard detected"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
[[ ${EAPI:-0} == [0123] ]] && source "${FILESDIR}/eblits/pkg_pretend.eblit"
|
|
||||||
|
|
||||||
eblit-glibc-pkg_setup() {
|
|
||||||
[[ ${EAPI:-0} == [0123] ]] && eblit-glibc-pkg_pretend
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
[[ ${EAPI:-0} == [01] ]] && source "${FILESDIR}/eblits/src_configure.eblit"
|
|
||||||
|
|
||||||
toolchain-glibc_src_compile() {
|
|
||||||
local t
|
|
||||||
for t in linuxthreads nptl ; do
|
|
||||||
if want_${t} ; then
|
|
||||||
[[ ${EAPI:-0} == [01] ]] && glibc_do_configure ${t}
|
|
||||||
emake -C "$(builddir ${t})" || die "make ${t} for ${ABI} failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-src_compile() {
|
|
||||||
if just_headers ; then
|
|
||||||
[[ ${EAPI:-0} == [01] ]] && toolchain-glibc_headers_configure
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
foreach_abi toolchain-glibc_src_compile
|
|
||||||
}
|
|
@ -1,274 +0,0 @@
|
|||||||
# Copyright 1999-2015 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
dump_toolchain_settings() {
|
|
||||||
echo
|
|
||||||
|
|
||||||
einfo "$*"
|
|
||||||
|
|
||||||
local v
|
|
||||||
for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC LD {AS,C,CPP,CXX,LD}FLAGS ; do
|
|
||||||
einfo " $(printf '%15s' ${v}:) ${!v}"
|
|
||||||
done
|
|
||||||
|
|
||||||
# The glibc configure script doesn't properly use LDFLAGS all the time.
|
|
||||||
export CC="$(tc-getCC ${CTARGET}) ${LDFLAGS}"
|
|
||||||
einfo " $(printf '%15s' 'Manual CC:') ${CC}"
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
glibc_do_configure() {
|
|
||||||
# Glibc does not work with gold (for various reasons) #269274.
|
|
||||||
tc-ld-disable-gold
|
|
||||||
|
|
||||||
dump_toolchain_settings "Configuring glibc for $1"
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
|
|
||||||
# set addons
|
|
||||||
pushd "${S}" > /dev/null
|
|
||||||
local addons=$(echo */configure | sed \
|
|
||||||
-e 's:/configure::g' \
|
|
||||||
-e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \
|
|
||||||
-e 's: \+$::' \
|
|
||||||
-e 's! !,!g' \
|
|
||||||
-e 's!^!,!' \
|
|
||||||
-e '/^,\*$/d')
|
|
||||||
[[ -d ports ]] && addons+=",ports"
|
|
||||||
popd > /dev/null
|
|
||||||
|
|
||||||
myconf+=( $(use_enable hardened stackguard-randomization) )
|
|
||||||
if has_version '<sys-libs/glibc-2.13' ; then
|
|
||||||
myconf+=( --enable-old-ssp-compat )
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
|
|
||||||
|
|
||||||
if [[ $1 == "linuxthreads" ]] ; then
|
|
||||||
if want_tls ; then
|
|
||||||
myconf+=( --with-tls )
|
|
||||||
|
|
||||||
if ! want__thread || use glibc-compat20 || [[ ${LT_KER_VER} == 2.[02].* ]] ; then
|
|
||||||
myconf+=( --without-__thread )
|
|
||||||
else
|
|
||||||
myconf+=( --with-__thread )
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
myconf+=( --without-tls --without-__thread )
|
|
||||||
fi
|
|
||||||
|
|
||||||
myconf+=( --disable-sanity-checks )
|
|
||||||
addons="linuxthreads${addons}"
|
|
||||||
myconf+=( --enable-kernel=${LT_KER_VER} )
|
|
||||||
elif [[ $1 == "nptl" ]] ; then
|
|
||||||
# Newer versions require nptl, so there is no addon for it.
|
|
||||||
version_is_at_least 2.20 || addons="nptl${addons}"
|
|
||||||
myconf+=( --enable-kernel=${NPTL_KERN_VER} )
|
|
||||||
else
|
|
||||||
die "invalid pthread option"
|
|
||||||
fi
|
|
||||||
myconf+=( --enable-add-ons="${addons#,}" )
|
|
||||||
|
|
||||||
# Since SELinux support is only required for nscd, only enable it if:
|
|
||||||
# 1. USE selinux
|
|
||||||
# 2. only for the primary ABI on multilib systems
|
|
||||||
# 3. Not a crosscompile
|
|
||||||
if ! is_crosscompile && use selinux ; then
|
|
||||||
if use multilib ; then
|
|
||||||
if is_final_abi ; then
|
|
||||||
myconf+=( --with-selinux )
|
|
||||||
else
|
|
||||||
myconf+=( --without-selinux )
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
myconf+=( --with-selinux )
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
myconf+=( --without-selinux )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Force a few tests where we always know the answer but
|
|
||||||
# configure is incapable of finding it.
|
|
||||||
if is_crosscompile ; then
|
|
||||||
export \
|
|
||||||
libc_cv_c_cleanup=yes \
|
|
||||||
libc_cv_forced_unwind=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--without-cvs
|
|
||||||
--disable-werror
|
|
||||||
--enable-bind-now
|
|
||||||
--build=${CBUILD_OPT:-${CBUILD}}
|
|
||||||
--host=${CTARGET_OPT:-${CTARGET}}
|
|
||||||
$(use_enable profile)
|
|
||||||
$(use_with gd)
|
|
||||||
--with-headers=$(alt_build_headers)
|
|
||||||
--prefix="${EPREFIX}/usr"
|
|
||||||
--sysconfdir="${EPREFIX}/etc"
|
|
||||||
--localstatedir="${EPREFIX}/var"
|
|
||||||
--libdir='$(prefix)'/$(get_libdir)
|
|
||||||
--mandir='$(prefix)'/share/man
|
|
||||||
--infodir='$(prefix)'/share/info
|
|
||||||
--libexecdir='$(libdir)'/misc/glibc
|
|
||||||
--with-bugurl=http://bugs.gentoo.org/
|
|
||||||
--with-pkgversion="$(glibc_banner)"
|
|
||||||
$(use_multiarch || echo --disable-multi-arch)
|
|
||||||
$(in_iuse rpc && use_enable rpc obsolete-rpc || echo --enable-obsolete-rpc)
|
|
||||||
$(in_iuse systemtap && use_enable systemtap)
|
|
||||||
$(in_iuse nscd && use_enable nscd)
|
|
||||||
${EXTRA_ECONF}
|
|
||||||
)
|
|
||||||
|
|
||||||
# We rely on sys-libs/timezone-data for timezone tools normally.
|
|
||||||
if version_is_at_least 2.23 ; then
|
|
||||||
myconf+=( $(use_enable vanilla timezone-tools) )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# These libs don't have configure flags.
|
|
||||||
ac_cv_lib_audit_audit_log_user_avc_message=$(in_iuse audit && usex audit || echo no)
|
|
||||||
ac_cv_lib_cap_cap_init=$(in_iuse caps && usex caps || echo no)
|
|
||||||
|
|
||||||
# There is no configure option for this and we need to export it
|
|
||||||
# since the glibc build will re-run configure on itself
|
|
||||||
export libc_cv_rootsbindir="${EPREFIX}/sbin"
|
|
||||||
export libc_cv_slibdir="${EPREFIX}/$(get_libdir)"
|
|
||||||
|
|
||||||
# We take care of patching our binutils to use both hash styles,
|
|
||||||
# and many people like to force gnu hash style only, so disable
|
|
||||||
# this overriding check. #347761
|
|
||||||
export libc_cv_hashstyle=no
|
|
||||||
|
|
||||||
# Overtime, generating info pages can be painful. So disable this for
|
|
||||||
# versions older than the latest stable to avoid the issue (this ver
|
|
||||||
# should be updated from time to time). #464394 #465816
|
|
||||||
if ! version_is_at_least 2.17 ; then
|
|
||||||
export ac_cv_prog_MAKEINFO=:
|
|
||||||
fi
|
|
||||||
|
|
||||||
local builddir=$(builddir "$1")
|
|
||||||
mkdir -p "${builddir}"
|
|
||||||
cd "${builddir}"
|
|
||||||
set -- "${S}"/configure "${myconf[@]}"
|
|
||||||
echo "$@"
|
|
||||||
"$@" || die "failed to configure glibc"
|
|
||||||
|
|
||||||
# ia64 static cross-compilers are a pita in so much that they
|
|
||||||
# can't produce static ELFs (as the libgcc.a is broken). so
|
|
||||||
# disable building of the programs for those targets if it
|
|
||||||
# doesn't work.
|
|
||||||
# XXX: We could turn this into a compiler test, but ia64 is
|
|
||||||
# the only one that matters, so this should be fine for now.
|
|
||||||
if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
|
|
||||||
sed -i '1i+link-static = touch $@' config.make
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If we're trying to migrate between ABI sets, we need
|
|
||||||
# to lie and use a local copy of gcc. Like if the system
|
|
||||||
# is built with MULTILIB_ABIS="amd64 x86" but we want to
|
|
||||||
# add x32 to it, gcc/glibc don't yet support x32.
|
|
||||||
if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
|
|
||||||
echo 'main(){}' > "${T}"/test.c
|
|
||||||
if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
|
|
||||||
sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
|
|
||||||
mkdir -p sunrpc
|
|
||||||
cp $(which rpcgen) sunrpc/cross-rpcgen || die
|
|
||||||
touch -t 202001010101 sunrpc/cross-rpcgen || die
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
toolchain-glibc_headers_configure() {
|
|
||||||
export ABI=default
|
|
||||||
|
|
||||||
local builddir=$(builddir "headers")
|
|
||||||
mkdir -p "${builddir}"
|
|
||||||
cd "${builddir}"
|
|
||||||
|
|
||||||
# if we don't have a compiler yet, we cant really test it now ...
|
|
||||||
# hopefully they don't affect header geneation, so let's hope for
|
|
||||||
# the best here ...
|
|
||||||
local v vars=(
|
|
||||||
ac_cv_header_cpuid_h=yes
|
|
||||||
libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
|
|
||||||
libc_cv_asm_cfi_directives=yes
|
|
||||||
libc_cv_broken_visibility_attribute=no
|
|
||||||
libc_cv_c_cleanup=yes
|
|
||||||
libc_cv_forced_unwind=yes
|
|
||||||
libc_cv_gcc___thread=yes
|
|
||||||
libc_cv_mlong_double_128=yes
|
|
||||||
libc_cv_mlong_double_128ibm=yes
|
|
||||||
libc_cv_ppc_machine=yes
|
|
||||||
libc_cv_ppc_rel16=yes
|
|
||||||
libc_cv_predef_{fortify_source,stack_protector}=no
|
|
||||||
libc_cv_visibility_attribute=yes
|
|
||||||
libc_cv_z_combreloc=yes
|
|
||||||
libc_cv_z_execstack=yes
|
|
||||||
libc_cv_z_initfirst=yes
|
|
||||||
libc_cv_z_nodelete=yes
|
|
||||||
libc_cv_z_nodlopen=yes
|
|
||||||
libc_cv_z_relro=yes
|
|
||||||
libc_mips_abi=${ABI}
|
|
||||||
libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
|
|
||||||
# These libs don't have configure flags.
|
|
||||||
ac_cv_lib_audit_audit_log_user_avc_message=no
|
|
||||||
ac_cv_lib_cap_cap_init=no
|
|
||||||
)
|
|
||||||
einfo "Forcing cached settings:"
|
|
||||||
for v in "${vars[@]}" ; do
|
|
||||||
einfo " ${v}"
|
|
||||||
export ${v}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Blow away some random CC settings that screw things up. #550192
|
|
||||||
if [[ -d ${S}/sysdeps/mips ]]; then
|
|
||||||
pushd "${S}"/sysdeps/mips >/dev/null
|
|
||||||
sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
|
|
||||||
sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
|
|
||||||
popd >/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
myconf+=(
|
|
||||||
--disable-sanity-checks
|
|
||||||
--enable-hacker-mode
|
|
||||||
--without-cvs
|
|
||||||
--disable-werror
|
|
||||||
--enable-bind-now
|
|
||||||
--build=${CBUILD_OPT:-${CBUILD}}
|
|
||||||
--host=${CTARGET_OPT:-${CTARGET}}
|
|
||||||
--with-headers=$(alt_build_headers)
|
|
||||||
--prefix="${EPREFIX}/usr"
|
|
||||||
${EXTRA_ECONF}
|
|
||||||
)
|
|
||||||
|
|
||||||
local addons
|
|
||||||
[[ -d ${S}/ports ]] && addons+=",ports"
|
|
||||||
# Newer versions require nptl, so there is no addon for it.
|
|
||||||
version_is_at_least 2.20 || addons+=",nptl"
|
|
||||||
myconf+=( --enable-add-ons="${addons#,}" )
|
|
||||||
|
|
||||||
# Nothing is compiled here which would affect the headers for the target.
|
|
||||||
# So forcing CC/CFLAGS is sane.
|
|
||||||
set -- "${S}"/configure "${myconf[@]}"
|
|
||||||
echo "$@"
|
|
||||||
CC="$(tc-getBUILD_CC)" \
|
|
||||||
CFLAGS="-O1 -pipe" \
|
|
||||||
CPPFLAGS="-U_FORTIFY_SOURCE" \
|
|
||||||
LDFLAGS="" \
|
|
||||||
"$@" || die "failed to configure glibc"
|
|
||||||
}
|
|
||||||
|
|
||||||
toolchain-glibc_src_configure() {
|
|
||||||
if just_headers ; then
|
|
||||||
toolchain-glibc_headers_configure
|
|
||||||
else
|
|
||||||
want_linuxthreads && glibc_do_configure linuxthreads
|
|
||||||
want_nptl && glibc_do_configure nptl
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-src_configure() {
|
|
||||||
foreach_abi toolchain-glibc_src_configure
|
|
||||||
}
|
|
@ -1,244 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
toolchain-glibc_src_install() {
|
|
||||||
local builddir=$(builddir $(want_linuxthreads && echo linuxthreads || echo nptl))
|
|
||||||
cd "${builddir}"
|
|
||||||
|
|
||||||
emake install_root="${D}$(alt_prefix)" install || die
|
|
||||||
|
|
||||||
if want_linuxthreads && want_nptl ; then
|
|
||||||
einfo "Installing NPTL to $(alt_libdir)/tls/..."
|
|
||||||
cd "$(builddir nptl)"
|
|
||||||
dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl
|
|
||||||
|
|
||||||
local l src_lib
|
|
||||||
for l in libc libm librt libpthread libthread_db ; do
|
|
||||||
# take care of shared lib first ...
|
|
||||||
l=${l}.so
|
|
||||||
if [[ -e ${l} ]] ; then
|
|
||||||
src_lib=${l}
|
|
||||||
else
|
|
||||||
src_lib=$(eval echo */${l})
|
|
||||||
fi
|
|
||||||
cp -a ${src_lib} "${ED}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}"
|
|
||||||
fperms a+rx $(alt_libdir)/tls/${l}
|
|
||||||
dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib})
|
|
||||||
|
|
||||||
# then grab the linker script or the symlink ...
|
|
||||||
if [[ -L ${ED}$(alt_usrlibdir)/${l} ]] ; then
|
|
||||||
dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l}
|
|
||||||
else
|
|
||||||
sed \
|
|
||||||
-e "s:/${l}:/tls/${l}:g" \
|
|
||||||
-e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \
|
|
||||||
"${ED}"$(alt_usrlibdir)/${l} > "${ED}"$(alt_usrlibdir)/nptl/${l}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# then grab the static lib ...
|
|
||||||
src_lib=${src_lib/%.so/.a}
|
|
||||||
[[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a}
|
|
||||||
cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
|
|
||||||
src_lib=${src_lib/%.a/_nonshared.a}
|
|
||||||
if [[ -e ${src_lib} ]] ; then
|
|
||||||
cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# use the nptl linker instead of the linuxthreads one as the linuxthreads
|
|
||||||
# one may lack TLS support and that can be really bad for business
|
|
||||||
cp -a elf/ld.so "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We'll take care of the cache ourselves
|
|
||||||
rm -f "${ED}"/etc/ld.so.cache
|
|
||||||
|
|
||||||
# Everything past this point just needs to be done once ...
|
|
||||||
is_final_abi || return 0
|
|
||||||
|
|
||||||
# Make sure the non-native interp can be found on multilib systems even
|
|
||||||
# if the main library set isn't installed into the right place. Maybe
|
|
||||||
# we should query the active gcc for info instead of hardcoding it ?
|
|
||||||
local i ldso_abi ldso_name
|
|
||||||
local ldso_abi_list=(
|
|
||||||
# x86
|
|
||||||
amd64 /lib64/ld-linux-x86-64.so.2
|
|
||||||
x32 /libx32/ld-linux-x32.so.2
|
|
||||||
x86 /lib/ld-linux.so.2
|
|
||||||
# mips
|
|
||||||
o32 /lib/ld.so.1
|
|
||||||
n32 /lib32/ld.so.1
|
|
||||||
n64 /lib64/ld.so.1
|
|
||||||
# powerpc
|
|
||||||
ppc /lib/ld.so.1
|
|
||||||
ppc64 /lib64/ld64.so.1
|
|
||||||
# s390
|
|
||||||
s390 /lib/ld.so.1
|
|
||||||
s390x /lib/ld64.so.1
|
|
||||||
# sparc
|
|
||||||
sparc32 /lib/ld-linux.so.2
|
|
||||||
sparc64 /lib64/ld-linux.so.2
|
|
||||||
)
|
|
||||||
case $(tc-endian) in
|
|
||||||
little)
|
|
||||||
ldso_abi_list+=(
|
|
||||||
# arm
|
|
||||||
arm64 /lib/ld-linux-aarch64.so.1
|
|
||||||
)
|
|
||||||
;;
|
|
||||||
big)
|
|
||||||
ldso_abi_list+=(
|
|
||||||
# arm
|
|
||||||
arm64 /lib/ld-linux-aarch64_be.so.1
|
|
||||||
)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
|
|
||||||
dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
|
|
||||||
fi
|
|
||||||
for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
|
|
||||||
ldso_abi=${ldso_abi_list[i]}
|
|
||||||
has ${ldso_abi} $(get_install_abis) || continue
|
|
||||||
|
|
||||||
ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
|
|
||||||
if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
|
|
||||||
dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# With devpts under Linux mounted properly, we do not need the pt_chown
|
|
||||||
# binary to be setuid. This is because the default owners/perms will be
|
|
||||||
# exactly what we want.
|
|
||||||
if in_iuse suid && ! use suid ; then
|
|
||||||
find "${ED}" -name pt_chown -exec chmod -s {} +
|
|
||||||
fi
|
|
||||||
|
|
||||||
#################################################################
|
|
||||||
# EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
|
|
||||||
# Make sure we install some symlink hacks so that when we build
|
|
||||||
# a 2nd stage cross-compiler, gcc finds the target system
|
|
||||||
# headers correctly. See gcc/doc/gccinstall.info
|
|
||||||
if is_crosscompile ; then
|
|
||||||
# We need to make sure that /lib and /usr/lib always exists.
|
|
||||||
# gcc likes to use relative paths to get to its multilibs like
|
|
||||||
# /usr/lib/../lib64/. So while we don't install any files into
|
|
||||||
# /usr/lib/, we do need it to exist.
|
|
||||||
cd "${ED}"$(alt_libdir)/..
|
|
||||||
[[ -e lib ]] || mkdir lib
|
|
||||||
cd "${ED}"$(alt_usrlibdir)/..
|
|
||||||
[[ -e lib ]] || mkdir lib
|
|
||||||
|
|
||||||
dosym usr/include $(alt_prefix)/sys-include
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Files for Debian-style locale updating
|
|
||||||
dodir /usr/share/i18n
|
|
||||||
sed \
|
|
||||||
-e "/^#/d" \
|
|
||||||
-e "/SUPPORTED-LOCALES=/d" \
|
|
||||||
-e "s: \\\\::g" -e "s:/: :g" \
|
|
||||||
"${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
|
|
||||||
|| die "generating /usr/share/i18n/SUPPORTED failed"
|
|
||||||
cd "${WORKDIR}"/extra/locale
|
|
||||||
dosbin locale-gen || die
|
|
||||||
doman *.[0-8]
|
|
||||||
insinto /etc
|
|
||||||
doins locale.gen || die
|
|
||||||
|
|
||||||
# Make sure all the ABI's can find the locales and so we only
|
|
||||||
# have to generate one set
|
|
||||||
local a
|
|
||||||
keepdir /usr/$(get_libdir)/locale
|
|
||||||
for a in $(get_install_abis) ; do
|
|
||||||
if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
|
|
||||||
dosym /usr/$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
cd "${S}"
|
|
||||||
|
|
||||||
# Install misc network config files
|
|
||||||
insinto /etc
|
|
||||||
doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf || die
|
|
||||||
doins "${WORKDIR}"/extra/etc/*.conf || die
|
|
||||||
|
|
||||||
if ! in_iuse nscd || use nscd ; then
|
|
||||||
doinitd "${WORKDIR}"/extra/etc/nscd || die
|
|
||||||
|
|
||||||
local nscd_args=(
|
|
||||||
-e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
|
|
||||||
)
|
|
||||||
version_is_at_least 2.16 || nscd_args+=( -e 's: --foreground : :' )
|
|
||||||
sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
|
|
||||||
|
|
||||||
# Newer versions of glibc include the nscd.service themselves.
|
|
||||||
# TODO: Drop the $FILESDIR copy once 2.19 goes stable.
|
|
||||||
if version_is_at_least 2.19 ; then
|
|
||||||
systemd_dounit nscd/nscd.service || die
|
|
||||||
systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf || die
|
|
||||||
else
|
|
||||||
systemd_dounit "${FILESDIR}"/nscd.service || die
|
|
||||||
systemd_newtmpfilesd "${FILESDIR}"/nscd.tmpfilesd nscd.conf || die
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Do this since extra/etc/*.conf above might have nscd.conf.
|
|
||||||
rm -f "${ED}"/etc/nscd.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
|
|
||||||
doenvd "${T}"/00glibc || die
|
|
||||||
|
|
||||||
for d in BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
|
|
||||||
[[ -s ${d} ]] && dodoc ${d}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Prevent overwriting of the /etc/localtime symlink. We'll handle the
|
|
||||||
# creation of the "factory" symlink in pkg_postinst().
|
|
||||||
rm -f "${ED}"/etc/localtime
|
|
||||||
}
|
|
||||||
|
|
||||||
toolchain-glibc_headers_install() {
|
|
||||||
local builddir=$(builddir "headers")
|
|
||||||
cd "${builddir}"
|
|
||||||
emake install_root="${D}$(alt_prefix)" install-headers || die
|
|
||||||
if ! version_is_at_least 2.16 ; then
|
|
||||||
insinto $(alt_headers)/bits
|
|
||||||
doins bits/stdio_lim.h || die
|
|
||||||
fi
|
|
||||||
insinto $(alt_headers)/gnu
|
|
||||||
doins "${S}"/include/gnu/stubs.h || die "doins include gnu"
|
|
||||||
# Make sure we install the sys-include symlink so that when
|
|
||||||
# we build a 2nd stage cross-compiler, gcc finds the target
|
|
||||||
# system headers correctly. See gcc/doc/gccinstall.info
|
|
||||||
dosym usr/include $(alt_prefix)/sys-include
|
|
||||||
}
|
|
||||||
|
|
||||||
src_strip() {
|
|
||||||
# gdb is lame and requires some debugging information to remain in
|
|
||||||
# libpthread, so we need to strip it by hand. libthread_db makes no
|
|
||||||
# sense stripped as it is only used when debugging.
|
|
||||||
local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}")
|
|
||||||
env \
|
|
||||||
-uRESTRICT \
|
|
||||||
CHOST=${CTARGET} \
|
|
||||||
STRIP_MASK="/*/{,tls/}${pthread}*" \
|
|
||||||
prepallstrip
|
|
||||||
# if user has stripping enabled and does not have split debug turned on,
|
|
||||||
# then leave the debugging sections in libpthread.
|
|
||||||
if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then
|
|
||||||
${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"/*/libpthread-*.so
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-src_install() {
|
|
||||||
if just_headers ; then
|
|
||||||
export ABI=default
|
|
||||||
toolchain-glibc_headers_install
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
foreach_abi toolchain-glibc_src_install
|
|
||||||
src_strip
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
eblit-glibc-src_prepare() {
|
|
||||||
# XXX: We should do the branchupdate, before extracting the manpages and
|
|
||||||
# infopages else it does not help much (mtimes change if there is a change
|
|
||||||
# to them with branchupdate)
|
|
||||||
if [[ -n ${BRANCH_UPDATE} ]] ; then
|
|
||||||
epatch "${DISTDIR}"/glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
|
|
||||||
|
|
||||||
# Snapshot date patch
|
|
||||||
einfo "Patching version to display snapshot date ..."
|
|
||||||
sed -i -e "s:\(#define RELEASE\).*:\1 \"${BRANCH_UPDATE}\":" version.h
|
|
||||||
fi
|
|
||||||
|
|
||||||
# tag, glibc is it
|
|
||||||
if ! version_is_at_least 2.17 ; then
|
|
||||||
[[ -e csu/Banner ]] && die "need new banner location"
|
|
||||||
glibc_banner > csu/Banner
|
|
||||||
fi
|
|
||||||
if [[ -n ${PATCH_VER} ]] && ! use vanilla ; then
|
|
||||||
EPATCH_MULTI_MSG="Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER} ..." \
|
|
||||||
EPATCH_EXCLUDE=${GLIBC_PATCH_EXCLUDE} \
|
|
||||||
EPATCH_SUFFIX="patch" \
|
|
||||||
ARCH=$(tc-arch) \
|
|
||||||
epatch "${WORKDIR}"/patches
|
|
||||||
fi
|
|
||||||
|
|
||||||
if just_headers ; then
|
|
||||||
if [[ -e ports/sysdeps/mips/preconfigure ]] ; then
|
|
||||||
# mips peeps like to screw with us. if building headers,
|
|
||||||
# we don't have a real compiler, so we can't let them
|
|
||||||
# insert -mabi on us.
|
|
||||||
sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die
|
|
||||||
find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} +
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
epatch_user
|
|
||||||
|
|
||||||
gnuconfig_update
|
|
||||||
|
|
||||||
# Glibc is stupid sometimes, and doesn't realize that with a
|
|
||||||
# static C-Only gcc, -lgcc_eh doesn't exist.
|
|
||||||
# https://sourceware.org/ml/libc-alpha/2003-09/msg00100.html
|
|
||||||
# https://sourceware.org/ml/libc-alpha/2005-02/msg00042.html
|
|
||||||
# But! Finally fixed in recent versions:
|
|
||||||
# https://sourceware.org/ml/libc-alpha/2012-05/msg01865.html
|
|
||||||
if ! version_is_at_least 2.16 ; then
|
|
||||||
echo 'int main(){}' > "${T}"/gcc_eh_test.c
|
|
||||||
if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/gcc_eh_test.c -lgcc_eh 2>/dev/null ; then
|
|
||||||
sed -i -e 's:-lgcc_eh::' Makeconfig || die "sed gcc_eh"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${WORKDIR}"
|
|
||||||
find . -type f '(' -size 0 -o -name "*.orig" ')' -delete
|
|
||||||
find . -name configure -exec touch {} +
|
|
||||||
|
|
||||||
# Fix permissions on some of the scripts.
|
|
||||||
chmod u+x "${S}"/scripts/*.sh
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
glibc_src_test() {
|
|
||||||
cd "$(builddir $1)"
|
|
||||||
nonfatal emake -j1 check && return 0
|
|
||||||
einfo "make check failed - re-running with --keep-going to get the rest of the results"
|
|
||||||
nonfatal emake -j1 -k check
|
|
||||||
ewarn "make check failed for ${ABI}-${CTARGET}-$1"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
toolchain-glibc_src_test() {
|
|
||||||
local ret=0 t
|
|
||||||
for t in linuxthreads nptl ; do
|
|
||||||
if want_${t} ; then
|
|
||||||
glibc_src_test ${t}
|
|
||||||
: $(( ret |= $? ))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return ${ret}
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-src_test() {
|
|
||||||
# Give tests more time to complete.
|
|
||||||
export TIMEOUTFACTOR=5
|
|
||||||
|
|
||||||
foreach_abi toolchain-glibc_src_test || die "tests failed"
|
|
||||||
}
|
|
@ -1,121 +0,0 @@
|
|||||||
# Copyright 1999-2014 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
[[ ${EAPI:-0} == [01] ]] && source "${FILESDIR}/eblits/src_prepare.eblit"
|
|
||||||
|
|
||||||
int_to_KV() {
|
|
||||||
local version=$1 major minor micro
|
|
||||||
major=$((version / 65536))
|
|
||||||
minor=$(((version % 65536) / 256))
|
|
||||||
micro=$((version % 256))
|
|
||||||
echo ${major}.${minor}.${micro}
|
|
||||||
}
|
|
||||||
|
|
||||||
eend_KV() {
|
|
||||||
[[ $(KV_to_int $1) -ge $(KV_to_int $2) ]]
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
get_kheader_version() {
|
|
||||||
printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
|
|
||||||
$(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \
|
|
||||||
tail -n 1
|
|
||||||
}
|
|
||||||
|
|
||||||
check_nptl_support() {
|
|
||||||
# don't care about the compiler here as we arent using it
|
|
||||||
just_headers && return
|
|
||||||
|
|
||||||
local run_kv build_kv want_kv
|
|
||||||
run_kv=$(int_to_KV $(get_KV))
|
|
||||||
build_kv=$(int_to_KV $(get_kheader_version))
|
|
||||||
want_kv=${NPTL_KERN_VER}
|
|
||||||
|
|
||||||
ebegin "Checking gcc for __thread support"
|
|
||||||
if ! eend $(want__thread ; echo $?) ; then
|
|
||||||
echo
|
|
||||||
eerror "Could not find a gcc that supports the __thread directive!"
|
|
||||||
eerror "Please update your binutils/gcc and try again."
|
|
||||||
die "No __thread support in gcc!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! is_crosscompile && ! tc-is-cross-compiler ; then
|
|
||||||
# Building fails on an non-supporting kernel
|
|
||||||
ebegin "Checking kernel version (${run_kv} >= ${want_kv})"
|
|
||||||
if ! eend_KV ${run_kv} ${want_kv} ; then
|
|
||||||
echo
|
|
||||||
eerror "You need a kernel of at least ${want_kv} for NPTL support!"
|
|
||||||
die "Kernel version too low!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
|
|
||||||
if ! eend_KV ${build_kv} ${want_kv} ; then
|
|
||||||
echo
|
|
||||||
eerror "You need linux-headers of at least ${want_kv} for NPTL support!"
|
|
||||||
die "linux-headers version too low!"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
unpack_pkg() {
|
|
||||||
local a=${PN}
|
|
||||||
[[ -n ${SNAP_VER} ]] && a="${a}-${RELEASE_VER}"
|
|
||||||
[[ -n $1 ]] && a="${a}-$1"
|
|
||||||
if [[ -n ${SNAP_VER} ]] ; then
|
|
||||||
a="${a}-${SNAP_VER}"
|
|
||||||
else
|
|
||||||
if [[ -n $2 ]] ; then
|
|
||||||
a="${a}-$2"
|
|
||||||
else
|
|
||||||
a="${a}-${RELEASE_VER}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if has ${a}.tar.xz ${A} ; then
|
|
||||||
unpacker ${a}.tar.xz
|
|
||||||
else
|
|
||||||
unpack ${a}.tar.bz2
|
|
||||||
fi
|
|
||||||
[[ -n $1 ]] && { mv ${a} $1 || die ; }
|
|
||||||
}
|
|
||||||
|
|
||||||
toolchain-glibc_src_unpack() {
|
|
||||||
# Check NPTL support _before_ we unpack things to save some time
|
|
||||||
want_nptl && check_nptl_support
|
|
||||||
|
|
||||||
if [[ -n ${EGIT_REPO_URIS} ]] ; then
|
|
||||||
local i d
|
|
||||||
for ((i=0; i<${#EGIT_REPO_URIS[@]}; ++i)) ; do
|
|
||||||
EGIT_REPO_URI=${EGIT_REPO_URIS[$i]}
|
|
||||||
EGIT_SOURCEDIR=${EGIT_SOURCEDIRS[$i]}
|
|
||||||
git-2_src_unpack
|
|
||||||
done
|
|
||||||
else
|
|
||||||
unpack_pkg
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}"
|
|
||||||
touch locale/C-translit.h #185476 #218003
|
|
||||||
[[ -n ${LT_VER} ]] && unpack_pkg linuxthreads ${LT_VER}
|
|
||||||
[[ -n ${PORTS_VER} ]] && unpack_pkg ports ${PORTS_VER}
|
|
||||||
[[ -n ${LIBIDN_VER} ]] && unpack_pkg libidn
|
|
||||||
|
|
||||||
if [[ -n ${PATCH_VER} ]] ; then
|
|
||||||
cd "${WORKDIR}"
|
|
||||||
unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
|
|
||||||
# pull out all the addons
|
|
||||||
local d
|
|
||||||
for d in extra/*/configure ; do
|
|
||||||
d=${d%/configure}
|
|
||||||
[[ -d ${S}/${d} ]] && die "${d} already exists in \${S}"
|
|
||||||
mv "${d}" "${S}" || die "moving ${d} failed"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
eblit-glibc-src_unpack() {
|
|
||||||
setup_env
|
|
||||||
|
|
||||||
toolchain-glibc_src_unpack
|
|
||||||
[[ ${EAPI:-0} == [01] ]] && cd "${S}" && eblit-glibc-src_prepare
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user